2009-03-16 2 views
1

Ich verwende eine alte Version der JRE (1.4), wo Node.getTextContents() und Node.setTextContents() nicht verfügbar sind. Gibt es einen langen Weg, diese Aktionen noch zu machen?Java-XML-Knoten Bearbeiten ohne Node.getTextContents()

Beispiel XML:

<MyEle>4119<MyEle/> 

Java:

//myEleNode is a Node found while traversing 
String nodeString = myEleNode.getTextContent(); 
if(nodeString.equals("4119")){//do something} 

Antwort

3

Der Text ist ein Kindknoten des MyEle Element, so dass Sie so etwas wie verwenden würde:

MyEle.getFirstChild().getNodeValue() 
+0

Beachten Sie, dass dies für DOM gilt, das durch das Parsen von XML erstellt wird, aber nicht unbedingt für jede aufgebaute DOM-Struktur gilt. Sie könnten Ihren Text auf mehrere Knoten verteilen lassen. In diesen Fällen normalisiert Node.normalize() den Text in einen einzelnen Knoten – ykaganovich

1

Sie werden müssen über die Kinder iterieren, prüfen, ob ihr Typ Text ist (node.getNodeType() == Node.TEXT_NODE) und dann den Textwert mit node.getNodeValue().