Hallo,
ich versuche gerade, ein XML-Datei auszulesen. Diese ist wie folgt aufgebaut:
[XML]
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<bauteile>
<bauteil name='Rundrohr' price='25.37' />
<bauteil name='Blech' price='34.41' />
</bauteile>
</settings>
[/XML]
Ich versuche, die Datei mit DOM auszulesen und habe mich durch den "Baum" (soll noch erweitert werden) bis "bauteile" durchgehangelt. Jetzt lasse ich mir die Kinder durch getChildNotes() geben.
Wenn ich jetzt versuche, die Attribute der einzelnen Kinder durch getAttributes() abzurufen kommt immer "null" zurück, da die Kinder als Text-Nodes erkannt werden. Wie kann ich das ändern?
Hier mal die fragliche Methode (getTeile liefert die NodeList, die bei getChildNotes() herauskommt):
Wenn ihr sonst irgendwelche Anmerkungen habt in Sachen eleganterem Code, könnt ihr das gerne sagen. In Sachen XML-Parsen bin ich kompletter Anfänger.
mfg eidel
ich versuche gerade, ein XML-Datei auszulesen. Diese ist wie folgt aufgebaut:
[XML]
<?xml version="1.0" encoding="utf-8" ?>
<settings>
<bauteile>
<bauteil name='Rundrohr' price='25.37' />
<bauteil name='Blech' price='34.41' />
</bauteile>
</settings>
[/XML]
Ich versuche, die Datei mit DOM auszulesen und habe mich durch den "Baum" (soll noch erweitert werden) bis "bauteile" durchgehangelt. Jetzt lasse ich mir die Kinder durch getChildNotes() geben.
Wenn ich jetzt versuche, die Attribute der einzelnen Kinder durch getAttributes() abzurufen kommt immer "null" zurück, da die Kinder als Text-Nodes erkannt werden. Wie kann ich das ändern?
Hier mal die fragliche Methode (getTeile liefert die NodeList, die bei getChildNotes() herauskommt):
Java:
public String[][] getBauteile(){
NodeList bauteile = getTeile(doc);
String[][] teile = new String[2][bauteile.getLength()];
for(int i = 0; i < bauteile.getLength(); i++){
NamedNodeMap bauteil = bauteile.item(i).getAttributes();
teile[0][i] = bauteil.getNamedItem("name").getNodeName();
teile[1][i] = bauteil.getNamedItem("price").getNodeName();
}
return teile;
}
mfg eidel