GetContentText renvoie trop d'informations
Bonjour,
Je suis en train d'essayer de parser un fichier XML avec Dom (sur le sdk 1.5), et j'ai un petit soucis pour l'extraction d'un texte d'une balise.
Voici le bout du fichier XML qui me pose soucis :
Code:
1 2 3 4 5 6 7
|
<one-of>
<item> valeur1 <tag>CONTENU-DE-BALISE-1</tag> </item>
<item> valeur2 <tag>CONTENU-DE-BALISE-2</tag> </item>
<item> valeur3 <tag>CONTENU-DE-BALISE-3</tag> </item>
<item> valeur4 <tag>CONTENU-DE-BALISE-4</tag> </item>
</one-of> |
Et voici mon bout de code Java censé me renvoyer une liste contenant : "valeur1", "valeur2", "valeur3" et "valeur4" :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
//node : Noeud correspondant à une instance de "one-of"
private List<String> getListItemsOneOf(Element node) {
List<String> list = new Vector<String>();
NodeList subNodeList = node.getChildNodes();
for(int i = 0; i < subNodeList.getLength() ; i++) {
Node subNode = subNodeList.item(i);
if (subNode.getNodeType() == Node.ELEMENT_NODE && subNode.getNodeName().compareTo("item") == 0) {
String item = ((Element)subNode).getTextContent();
System.out.println("item = " + item);
list.add(item);
}
}
return list;
} |
Malheureusement, ça ne fonctionne pas... En effet, lorsque j'appelle la méthode "getTextContent()", au lieu de renvoyer juste "valeur1", il me renvoi "valeur1 CONTENU-DE-BALISE-1" :aie:
C'est comme si il récupérait le texte du noeud, ainsi que le texte des fils du noeud...
D'où ma question, comment faire pour récupèrer uniquement le texte du noeud présent ?
Merci d'avance.