Bonjour, voilà mon problème:
j'ai un document xml comme-ci:
Je veux supprimer la fiche 1, et je n'arrive pas à le faire, voici mon 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 <archives> <experience> <num>fiche1</num> <personne> <nom>Dupont</nom> <prenom>Jean</prenom> </personne> </experience> <experience> <num>fiche2</num> <personne> <nom>Smith</nom> <prenom>John</prenom> </personne> </experience> </archives>
Mais ça ne foctionne pas...ça ne me supprime pas la fiche 1....par contre si je fais
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 Document document; SAXBuilder sxb = new SAXBuilder(); try{ document = sxb.build(new File("archives.xml"); //L'on initialise un nouvel element racine avec l'element racine du document. Element racine = document.getRootElement(); String element=("experience"); //Dans un premier temps on liste toutes les expériences List listExperience = racine.getChildren(element); Iterator i = listExperience.iterator(); //On parcours la liste grâce à un iterator while(i.hasNext()) { Element courant = (Element)i.next(); if(courant.getChild("num")!=null) { if(num.equals("fiche1")){ courant.removeChild(element); } } } Format format = Format.getCompactFormat().setEncoding("ISO-8859-1"); XMLOutputter sortie = new XMLOutputter(format); sortie.output(document, new FileOutputStream(new File("nouveau.xml"))); } catch(Exception e){}ça me supprimera le noeud num de la fiche 1....
Code : Sélectionner tout - Visualiser dans une fenêtre à part courant.removeChild("num");
Comment faire pour supprimer le noeud experience de la fiche 1 et tous les noeuds enfants de experience pour cette fiche1????
Merci de votre aide!!![/code]
Partager