2009-03-16 7 views
1

J'utilise une ancienne version de JRE (1.4) où Node.getTextContents() et Node.setTextContents() ne sont pas disponibles. Y at-il un long chemin à faire ces actions encore?Java XML Node Edit sans Node.getTextContents()

Exemple XML:

<MyEle>4119<MyEle/> 

Java:

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

Répondre

3

Le texte est un nœud enfant de l'élément MyEle, de sorte que vous utilisez quelque chose comme:

MyEle.getFirstChild().getNodeValue() 
+0

Notez que ceci est vrai pour DOM qui est créé en analysant XML, mais pas nécessairement vrai pour tout arbre DOM construit. Vous pourriez avoir votre texte divisé entre plusieurs nœuds. Dans ces cas, Node.normalize() normalise le texte en un seul noeud – ykaganovich

1

Vous allez avoir à parcourir sur les enfants, vérifier si leur type est le texte (node.getNodeType() == Node.TEXT_NODE) et ensuite obtenir la valeur du texte en utilisant node.getNodeValue().