Casablanca n'est pas la value du node 'title'.
'title' a un enfant de type TEXT_NODE, dont il faut appeler getData()
Le code suivant renvoie la valeur du premier texte fils trouvé:
Code :
- public static String findTextValue(Element e) {
- if (e==null)
- {
- return "[no element]";
- }
- NodeList nodeList = e.getChildNodes();
- for (int i = 0; i < nodeList.getLength(); i++) {
- Node n = nodeList.item(i);
- if (n.getNodeType() == n.TEXT_NODE) {
- Text textNode = (Text)n;
- return textNode.getData();
- }
- }
- return "";
- }
|
Remarque : un node peut avoir plusieurs fils de type texte:
Code :
- <title>
- a
- <subtitle/>
- b
- </title>
|
Dans cet exemple, title a trois fils:
un TEXT_NODE avec data = a
un ELEMENT_NODE avec nodeName=subtitle
un autre TEXT_NODE avec data = b