Ein bisschen Code beschreibt das Problem vielleicht am besten:
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<View>
<Backgroundimage
Backgroundimage="icons/artikelen_afbeelding_96790.jpg">
</Backgroundimage>
<Buttons>
<Button x="10" y="10" text="1"></Button>
<Button x="50" y="50" text="2"></Button>
</Buttons>
</View>[/XML]
Ausgabe
Zum einen versteh ich nicht, warum die Werte im Knoten 1, 10, 10 sind, wenn ich den Knoten mit dem Hintergrundbild anschaue steht an Stelle 0 der richtige String. Zum anderen verstehe ich nicht, wie mit dieser Schleife eine Nullpointerexception geworfen werden kann.
Java:
public void traverse(Node node, int level) {
NodeList nl = node.getChildNodes();
for(int i=0; i < nl.getLength(); i++) {
if(nl.item(i).getNodeName().equals("Button")) {
for(int j = 0; i < nl.item(i).getAttributes().getLength(); j++){
System.out.println(nl.item(i).getAttributes().item(j).getNodeValue());
}
}
traverse(nl.item(i), level+1);
}
}
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<View>
<Backgroundimage
Backgroundimage="icons/artikelen_afbeelding_96790.jpg">
</Backgroundimage>
<Buttons>
<Button x="10" y="10" text="1"></Button>
<Button x="50" y="50" text="2"></Button>
</Buttons>
</View>[/XML]
Ausgabe
Code:
1
10
10
...
java.lang.NullPointerException
at de.xx.xx.fischertechnikUI.views.XmlReader.traverse(XmlReader.java:70)
at de.xx.xx.fischertechnikUI.views.XmlReader.traverse(XmlReader.java:78)
at de.xx.xx.fischertechnikUI.views.XmlReader.traverse(XmlReader.java:78)
at de.xx.xx.fischertechnikUI.views.XmlReader.parse(XmlReader.java:51)
at de.xx.xx.ischertechnikUI.views.XmlReader.setConfiguration(XmlReader.java:30)
at de.xx.xx.fischertechnikUI.views.XmlReader.selectFile(XmlReader.java:45)
at de.xx.xx.fischertechnikUI.views.MainView.putButtons(MainView.java:27)
at de.xx.xx.fischertechnikUI.views.MainView.createPartControl(MainView.java:22)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
...
Zum einen versteh ich nicht, warum die Werte im Knoten 1, 10, 10 sind, wenn ich den Knoten mit dem Hintergrundbild anschaue steht an Stelle 0 der richtige String. Zum anderen verstehe ich nicht, wie mit dieser Schleife eine Nullpointerexception geworfen werden kann.