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 :
Et voici mon bout de code Java censé me renvoyer une liste contenant : "valeur1", "valeur2", "valeur3" et "valeur4" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }![]()
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.
Partager