Hallo zusammen,
nach etwas längerer Pause habe ich mich jetzt wieder an mein kleines XML-Projekt gewagt und bin prompt am Fehler suchen. Zugegeben, im Netz habe ich Beiträge gefunden, die sich mit meiner Frage beschäftigen, eine Lösung konnte ich daraus leider nicht generieren.
Die Situation ist die folgende:
Aus einer XML-Datei möchte ich eine Baumstruktur erzeugen.
Die XML ist wie folgt aufgebaut:
Ich möchte das Ganze in w3c (DOM) umsetzen und verwende dafür den folgenden Code:
Ich erhalte jedoch nicht die richtige Anzahl der (Unter)Knoten und durch die Verschachtelung bekomme ich es auch nicht hin, auf das nächste Element bzw. dessen Attribute zuzugreifen.
Vielleicht könnte mir jemand von euch einen kleinen Stoß in die richtige Richtung geben?
Grüße
Sabine
nach etwas längerer Pause habe ich mich jetzt wieder an mein kleines XML-Projekt gewagt und bin prompt am Fehler suchen. Zugegeben, im Netz habe ich Beiträge gefunden, die sich mit meiner Frage beschäftigen, eine Lösung konnte ich daraus leider nicht generieren.
Die Situation ist die folgende:
Aus einer XML-Datei möchte ich eine Baumstruktur erzeugen.
Die XML ist wie folgt aufgebaut:
Code:
<OBJECTTYPE>
<OBJECTSHEET id="A">
<ATTRIBUTTE id="500"></ATTRIBUTE>
<ATTRIBUTTE id="501"></ATTRIBUTE>
<ATTRIBUTTE id="502"></ATTRIBUTE>
<ATTRIBUTTE id="503"></ATTRIBUTE>
</OBJECTSHEET>
<OBJECTSHEET id="B">
<OBJECTSHEET id="B1">
<ATTRIBUTTE id="601"></ATTRIBUTE>
<ATTRIBUTTE id="602"></ATTRIBUTE>
<ATTRIBUTTE id="603"></ATTRIBUTE>
</OBJECTSHEET>
<OBJECTSHEET id="B2">
<ATTRIBUTTE id="701"></ATTRIBUTE>
<ATTRIBUTTE id="702"></ATTRIBUTE>
</OBJECTSHEET>
</OBJECTSHEET>
<OBJECTSHEET id="C">
<ATTRIBUTTE id="801"></ATTRIBUTE>
<ATTRIBUTTE id="802"></ATTRIBUTE>
</OBJECTSHEET>
</OBJECTTYPE>
Ich möchte das Ganze in w3c (DOM) umsetzen und verwende dafür den folgenden Code:
Code:
Element rootElement = document.getDocumentElement();
NodeList children = rootElement.getChildNodes();
Node current = null;
int count = children.getLength();
for (int i = 0; i < count; i++ ) {
current = children.item(i);
if (current.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element)current;
System.out.println(((Element)children.item(i)).getAttribute("id") + " (" + element.getChildNodes().getLength() + ")");
}
}
Ich erhalte jedoch nicht die richtige Anzahl der (Unter)Knoten und durch die Verschachtelung bekomme ich es auch nicht hin, auf das nächste Element bzw. dessen Attribute zuzugreifen.
Vielleicht könnte mir jemand von euch einen kleinen Stoß in die richtige Richtung geben?
Grüße
Sabine