Java-XML-getElementsByTagName () - Funktion
Können sagen, ich habe diese XML-Datei:
<attributes>
<units>
<civilians>
<unit>
<name>Settler</name>
<stats>
<attack>26</attack>
<defence>7</defence>
</stats>
<costs>
<lumber/>
<iron/>
</costs>
</unit>
<unit>
<name>Infantry</name>
<stats>
<attack>33</attack>
<defence>7</defence>
</stats>
<costs>
<lumber/>
<iron/>
</costs>
</unit>
</civilians>
</units>
</attributes>
Tut getElementsByTagName("attack") auf den Knoten Attribute liefern eine NodeList mit den Angriffs-element mit 26 in der ersten position und der Angriff element mit 33 an zweiter position?
Habe ich mir überlegt, dies ist der Fall, aber es scheint nicht zu funktionieren.
Wenn es nicht so einfach; was ist ein guter Weg, um greifen alle attack-Werte aus der XML-Datei? Vielleicht ist die XML-Datei selbst ist schlecht strukturiert?
Edit: Ah. Ich bekomme die Knoten jetzt, und .getTextContent() statt .getNodeValue() gelöst meine Probleme. Sorry für die Unannehmlichkeiten.
Mit welchem Verhalten sind Sie immer statt?
Nun bekomme ich die Elemente alle Recht, aber Sie scheinen Ihren Wert verloren haben. Wenn ich Knoten.item(0).getNodeValue() (Knoten der Knotenliste) bekomme ich null :/
Nun bekomme ich die Elemente alle Recht, aber Sie scheinen Ihren Wert verloren haben. Wenn ich Knoten.item(0).getNodeValue() (Knoten der Knotenliste) bekomme ich null :/
InformationsquelleAutor Alexus48 | 2011-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dom Core 2 Spec sagt:
Und Dom Core 3 Spec sagt:
Damit Ihre Erwartungen für die Funktion korrekt sind. Wenn das nicht ist, was Sie bekommen haben, wäre es ein Fehler in Ihrem code oder in der Bibliothek, die Sie verwenden.
Recht. Du bist immer der Knoten mit dem Wert des Elements. Sie brauchen, um den Wert der text-Knoten child-element des Elements. Ich schlage vor, Knoten.item(i).getTextContent(), oder Knoten.item(i).getFirstChild().getNodeValue()
InformationsquelleAutor Alohci
Ich habe noch nie mit XML gearbeitet in Java, aber sicher konnte Sie nur für die Elemente Durchlaufen und prüfen jedes eine für den Angriff-Taste.? Sorry, wenn das ist nicht, was Sie suchen,
es ist genau das, was ich tun würde, weil ich keine Kenntnis von der XML-Klassen in Java. Hoffe, es hilft aber.
InformationsquelleAutor jt78