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