Bonjour,
J'ai un petit soucis.
Voilà, j'ai écrit un code pour supprimer des éléments dans un fichier xml déjà créé.
Exemple de xml :
Par exemple, si je ne veux supprimer que le premier nom (avec dupont), mon code me supprimer dupont ET martin....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <eleves> <nom>Dupont</nom> <prenom<bernard</prenom> </eleves> <eleves> <nom>martin</nom> <prenom> julie</prenom> </eleves>
Voilà mon code :
Comment je fais si je ne veux supprimer que le premier
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 public class testSuppr { static org.jdom.Document document; static Element racine; public static void main(String[] args) { try { lireFichier("G:\\testeur.xml"); supprElement("intitule"); enregistreFichier("G:\\testeur.xml"); } catch(Exception e){} } //On parse le fichier et on initialise la racine de //notre arborescence static void lireFichier(String fichier) throws Exception { SAXBuilder sxb = new SAXBuilder(); document = sxb.build(new File(fichier)); racine = document.getRootElement(); } //On fait des modifications sur un Element static void supprElement(String element) { //Dans un premier temps on liste tous les types List listType = racine.getChildren("type"); Iterator i = listType.iterator(); //On parcours la liste grâce à un iterator while(i.hasNext()) { Element courant = (Element)i.next(); //Si le type possède une valeur, on applique la modification if(courant.getChild(element)!=null) { //On supprime l'Element en question courant.removeChild(element); //On renomme l'Element père sachant qu'une balise XML n'accepte //ni les espaces ni les caractères spéciaux //"type modifié" devient "type_modifie" courant.setName("type_modifie"); } } } //On enregsitre notre nouvelle arborescence dans le fichier //d'origine dans un format classique. static void enregistreFichier(String fichier) throws Exception { XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat()); sortie.output(document, new FileOutputStream("G:\\testeur.xml")); } }
Partager