Bonjour, J'ai le document XML suivant:
Je veux parcourir ce document tout en affichant tous ces éléments et ces sous-éléments, j'ai utilisé le code suivant:
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 <Dimensions> <Dimension name="Time" refD="ID-T"> <Aggregation_level> <level> second </level> <level> Minute </level> <level> Hour </level> <level> Day </level> <level> Month </level> <level> Year </level> </Aggregation_level> </Dimension> <Dimension name="Place" refD="ID-PL"> <aggregation_level> <level> Place_type </level> </aggregation_level> <aggregation_level> <level> Country-code </level> <level_attribute>country</level_attribute> </aggregation_level> <Attributes> <Attribute>Full_Name</Attribute> <Attribute>Name</Attribute> <Attribute>URL_PL</Attribute> </Attributes> </Dimension> </Dimensions>
J'ai comme 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 NodeList nodes = document.getElementsByTagName("Dimensions"); // extract liste des dimensions Element element = (Element) nodes.item(0); NodeList dimensionList = element.getElementsByTagName("Dimension"); for (int i = 0; i < dimensionList.getLength(); i++) { Element dimensionElement = (Element) dimensionList.item(i); System.out.println(dimensionElement.getAttributes().getNamedItem("name").getNodeValue()); NodeList levels = dimensionElement.getElementsByTagName("Aggregation_level"); NodeList attributs = dimensionElement.getElementsByTagName("Attributes"); Element level = (Element)levels.item(0); Element attribute = (Element) attributs.item(0); System.out.println("verification1"); while(level.getNodeType() == Node.ELEMENT_NODE && level.hasChildNodes()) { for(int j=0; j< level.getChildNodes().getLength(); j++){ System.out.println(level.getElementsByTagName("level").item(j).getTextContent()); } } while(attribute.getNodeType() == Node.ELEMENT_NODE && attribute.hasChildNodes()) { for(int j1=0; j1< attribute.getChildNodes().getLength(); j1++){ System.out.println(attribute.getElementsByTagName("Attribute").item(j1).getTextContent()); } }}où je mon programme ne peux pas avancer pour parcourir le deuxième élément
Code : Sélectionner tout - Visualiser dans une fenêtre à part Time\n second \n Minute \nHour \nDay \nMonth \nYear Exception in thread "main" java.lang.NullPointerException at ParsingJson.main(ParsingJson.java:45)
Partager