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
Partager