IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

modification de données


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut modification de données
    salut,

    je veux faire un programme java qui modifie des donnes dans un fichier test.xml

    le fichier test.xml est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?xml version="1.0" encoding="UTF-8"?>
    <entreprises>
       <entreprise>
          <local>pari</local>
          <capacite>50</capacite>
     
       </entreprise>
     <entreprise>
          <local>suisse</local>
          <capacite>20</capacite>
     
     
       </entreprise>
     
     
    </entreprises>

    si j'ai deux variable :

    String localactuelle ; //contient un local
    int novelleCapacite; //c'est la nouvelle valeur qui je veux travailler avec elle pour changer l'ancienne valeur de capacite)

    donc grâce à ces deux valeurs je dois parser le fichier exemple.xml

    et si je trouve un local qui correspond à localactuelle

    je change sa capacite par novelleCapacite;


    exemple de scenario de test si j'ai ces valeur :pour local:pari
    pour capacité:69


    le problème est comment parser le fichier exemple.xml

    pour modifier la capacité de l'entreprise qui a comme local :pari

    par 69

    donc la valeur de capacite devienne 69 et pas 50

    bien sur cette modification dois être enregistrer

    sinon je pense qu'on dois supprimer le fichier exemple.xml et recréer par les nouvelle valeurs modifier




    j'ai déjà travaille avec jdom et j'arrive à parser mon fichier exemple.xml mais en mode de consultation(juste je récupère une liste de string qui contient les local des entreprise) et ca marche

    mais pour mon exemple je dois parser le fichier exemple.xml pour modifier une valeur

    le code qui j'ai deja utiliser pour un autre cas( le cas de consultation ) est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    public  List<String> getDatas(){
     
     
    		List<String> listelocalParser=new ArrayList<String>();
    		Document document = null;
    		SAXBuilder sxb=new SAXBuilder();
    		try {
    			document = sxb.build(new File("test.xml"));
    		} catch (Exception e) {
     
    			e.printStackTrace();
    		}
    		Element enteprises=document.getRootElement();
    		List<Element> ens =enteprises.getChildren();
     
    		for(Element entreprise:ens){  
    			String local=entreprise.getChild("local").getText();
    	listelocalParser.add(local);
    		}
     
     
    		return listelocalParser;
    	}


    normalement je dois utiliser des test comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    String local=entreprise.getChild("local").getText();
    	int capacite=ntreprise.getChild("capacite").getText();
     
    if(local==localactuelle)
     
    capacite=novelleCapacite  //ici je dois modifier la capacite
     
    //et après je dois enregistrer la modification


    je trouve après recherche que je dois utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    XMLOutputter xmlOutput= new XMLOutputter(Format.getPrettyFormat());
    xmlOutput.output(document, new FileOutputStream("test.xml"));


    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut
    j'essaye avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    String localactuelle= "pari";
    String nouvelleCapacite = "69";
     
    SAXBuilder sxb=new SAXBuilder();
    		Document document = null;
     
    			document = sxb.build(new File("test.xml"));
     
    		Element entreprises=document.getRootElement();
     
    		List<Element> en=entreprises.getChildren();
     
     
            for(Element entreprise:en){
     
     
     
     
            	String loc=entreprise.getChild("local").getText();
     
     
     
     
            if(loc.equals(localactuelle)){
     
    			entreprise.getChild("capatite").setText(nouvelleCapacite);
    		}
    		XMLOutputter xmlOutput= new XMLOutputter(Format.getPrettyFormat());
     
    			xmlOutput.output(document, new FileOutputStream("test.xml"));
     
     
            }
    mais il m'affiche erreur

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut
    vraiment je n'arrive pas à comprendre la source d'erreur

    est ce quelqu'un a une idée sur ce genre de problème


    merci d'avance

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    L'exemple et sa présentation sont au moins 15 fois trop long. Tu ne vas pas me dire que tu as besoin de tout ça pour nous expliquer ce que tu n'arrives pas à faire/comprendre avec JDOM ?

    En l'état, je ne regarderai ça que si j'ai quelques heures devant moi pour regarder ton problème. C'est beaucoup de temps.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    232
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 232
    Par défaut
    merci pour votre réponse

    à mon vie le code normalement correcte mais le problème est que ce code c'est vrai va crée de nouveau le fichier test.xml mais avec le même donnes( je parle des anciennes données)

    merci d'avance

Discussions similaires

  1. [JTable] Interdire la modification des données ?
    Par Cyborg289 dans le forum Composants
    Réponses: 7
    Dernier message: 25/02/2013, 10h40
  2. Réponses: 2
    Dernier message: 21/03/2006, 15h22
  3. Modification des données impossible
    Par Virgile59 dans le forum Access
    Réponses: 8
    Dernier message: 03/03/2006, 14h41
  4. Réponses: 6
    Dernier message: 15/02/2006, 14h02
  5. [MySQL] Modification de données utilisateurs
    Par Paniez dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 05/02/2006, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo