Bonjour à tous ;
Mon problème maintenant est le suivant, mon fichier XML à évoluer et il ressemble plutôt à ça ;
Code XML : 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 <racine> <toto> <titi titiName = "Salut <tutu tutuName = "salut encore <file fileName = "resalut"></file> <file fileName = "resalut2"></file> </ tutu > <tutu tutuName = "reresalut <file fileName = "salutos"></file> <file fileName = "hi"></file> </ tutu > < tutu PkgName = "Encore tutu"> <file fileName = "salut2"></file> <file fileName = "salut3"></file> </ tutu > < tutu PkgName = "Encore tutu"> ... . . . . etc etc </ tutu > </titi> . . . etc (encore des titi et des tutu...) </toto> <toto> </racine>
Et qu’est que je veux faire c’est pour chaque balise ‘titi ‘ je récupère l’attribut tititName avec ses attributs tutuName et file Name, ainsi de suite à chaque fois que je tombe sur un titiName je répète l’opération, en gros comment je récupère dans un fichier XML une balise mère et ses filles.
NB : le code que j’utilise pour lire mes balises est le suivant
Sachant que quand je fais un getter pour récupérer mon test1 par exemple j’ai que le dernier élément, en sortant de la boucle bien sur
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 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; Document doc = null; Element root = null; try { builder = factory.newDocumentBuilder(); doc = builder.parse("File.xml"); root = doc.getDocumentElement(); NodeList listNo = null; listNo = root.getElementsByTagName("titi"); for (int i = 0; i < listNo.getLength(); i++) { Element e = (Element) listNo.item(i); Test1 = e.getAttribute("titiName "); } NodeList listNo2 = null; listNo2 = root.getElementsByTagName("tutu"); for (int j = 0; j < listNo2.getLength(); j++) { Element e2 = (Element) listNo2.item(j); Test2 = e2.getAttribute("tutuName "); } /** Imports */ NodeList listNo3 = null; listNo3 = root.getElementsByTagName("file"); for (int k = 0; k < listNo3.getLength(); k++) { Element e3 = (Element) listNo3.item(k); Test3 = e3.getAttribute("fileName "); } } catch (Exception e) { e.printStackTrace(); }
Merci pour toute aide
Partager