Bonjour,
J'ai un programme source configuration.xml, je veux le parser avec le Java en utilisant JDOM pour avoir en sortie les données nécessaires
Fichier config.xml
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
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162 <?xml version="1.0" encoding="UTF-8"?> -<configuration> -<metadonnees> -<usine type="usine-matiere"> -<icones> <icone type="vide" path="src/ressources/UMP0%.png"/> <icone type="un-tiers" path="src/ressources/UMP33%.png"/> <icone type="deux-tiers" path="src/ressources/UMP66%.png"/> <icone type="plein" path="src/ressources/UMP100%.png"/> </icones> <sortie type="metal"/> <interval-production>100</interval-production> </usine> -<usine type="usine-aile"> -<icones> <icone type="vide" path="src/ressources/UT0%.png"/> <icone type="un-tiers" path="src/ressources/UT33%.png"/> <icone type="deux-tiers" path="src/ressources/UT66%.png"/> <icone type="plein" path="src/ressources/UT100%.png"/> </icones> <entree type="metal" quantite="2"/> <sortie type="aile"/> <interval-production>50</interval-production> </usine> -<usine type="usine-moteur"> -<icones> <icone type="vide" path="src/ressources/UM0%.png"/> <icone type="un-tiers" path="src/ressources/UM33%.png"/> <icone type="deux-tiers" path="src/ressources/UM66%.png"/> <icone type="plein" path="src/ressources/UM100%.png"/> </icones> <entree type="metal" quantite="4"/> <sortie type="moteur"/> <interval-production>75</interval-production> </usine> -<usine type="usine-assemblage"> -<icones> <icone type="vide" path="src/ressources/UA0%.png"/> <icone type="un-tiers" path="src/ressources/UA33%.png"/> <icone type="deux-tiers" path="src/ressources/UA66%.png"/> <icone type="plein" path="src/ressources/UA100%.png"/> </icones> <entree type="aile" quantite="2"/> <entree type="moteur" quantite="4"/> <sortie type="avion"/> <interval-production>110</interval-production> </usine> -<usine type="entrepot"> -<icones> <icone type="vide" path="src/ressources/E0%.png"/> <icone type="un-tiers" path="src/ressources/E33%.png"/> <icone type="deux-tiers" path="src/ressources/E66%.png"/> <icone type="plein" path="src/ressources/E100%.png"/> </icones> <entree type="avion" capacite="5"/> </usine> </metadonnees> -<simulation> <usine type="usine-matiere" y="32" x="32" id="11"/> <usine type="usine-aile" y="32" x="320" id="21"/> <usine type="usine-assemblage" y="192" x="160" id="41"/> <usine type="entrepot" y="192" x="640" id="51"/> <usine type="usine-matiere" y="576" x="544" id="13"/> <usine type="usine-matiere" y="352" x="96" id="12"/> <usine type="usine-moteur" y="352" x="320" id="31"/> -<chemins> <chemin vers="21" de="11"/> <chemin vers="41" de="21"/> <chemin vers="51" de="41"/> <chemin vers="31" de="12"/> <chemin vers="31" de="13"/> <chemin vers="41" de="31"/> </chemins> </simulation> </configuration>
Le fichier java que j'ai tenté mais ne donne pas tout et résultat n'est pas dans l'ordre :
mainTest.java
Résultat :
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
60
61
62
63
64
65
66
67
68
69 package avion; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class mainTest { public static void main(String[] args) { String url = "C:\\Users\\Surface\\eclipse-workspace\\avion\\src\\avion\\config.xml"; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newDefaultInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new File(url)); doc.getDocumentElement().normalize(); System.out.println("Root element: " + doc.getDocumentElement().getNodeName()); NodeList nList = (NodeList) doc.getElementsByTagName("usine"); NodeList nList2 = (NodeList) doc.getElementsByTagName("icone"); for(int i = 0 ; i < nList.getLength(); i++) { Node p = (Node) nList.item(i); if(p.getNodeType()== Node.ELEMENT_NODE) { Element usine = (Element) p; System.out.println(usine.getAttribute("type")); } } System.out.println(); System.out.println(); for(int j = 0 ; j< nList2.getLength() ; j++) { Node p2 = nList2.item(j); if(p2.getNodeType()== Node.ELEMENT_NODE) { Element icone = (Element) p2; System.out.println("état de l'usine : " + icone.getAttribute("type")); System.out.println("chemin de la photo : " + icone.getAttribute("path")); System.out.println(); System.out.println(); } } } catch(Exception ex) { ex.printStackTrace(); } } }
Root element: configuration
usine-matiere
usine-aile
usine-moteur
usine-assemblage
entrepot
usine-matiere
usine-aile
usine-assemblage
entrepot
usine-matiere
usine-matiere
usine-moteur
état de l'usine : vide
chemin de la photo : src/ressources/UMP0%.png
état de l'usine : un-tiers
chemin de la photo : src/ressources/UMP33%.png
état de l'usine : deux-tiers
chemin de la photo : src/ressources/UMP66%.png
état de l'usine : plein
chemin de la photo : src/ressources/UMP100%.png
état de l'usine : vide
chemin de la photo : src/ressources/UT0%.png
état de l'usine : un-tiers
chemin de la photo : src/ressources/UT33%.png
état de l'usine : deux-tiers
chemin de la photo : src/ressources/UT66%.png
état de l'usine : plein
chemin de la photo : src/ressources/UT100%.png
état de l'usine : vide
chemin de la photo : src/ressources/UM0%.png
état de l'usine : un-tiers
chemin de la photo : src/ressources/UM33%.png
état de l'usine : deux-tiers
chemin de la photo : src/ressources/UM66%.png
état de l'usine : plein
chemin de la photo : src/ressources/UM100%.png
état de l'usine : vide
chemin de la photo : src/ressources/UA0%.png
état de l'usine : un-tiers
chemin de la photo : src/ressources/UA33%.png
état de l'usine : deux-tiers
chemin de la photo : src/ressources/UA66%.png
état de l'usine : plein
chemin de la photo : src/ressources/UA100%.png
état de l'usine : vide
chemin de la photo : src/ressources/E0%.png
état de l'usine : un-tiers
chemin de la photo : src/ressources/E33%.png
état de l'usine : deux-tiers
chemin de la photo : src/ressources/E66%.png
état de l'usine : plein
chemin de la photo : src/ressources/E100%.png
Partager