2 votes

Obtenir un nœud par nom à partir de la liste de nœuds

Je essaie de récupérer le nœud par son nom au lieu de par son index via item(i) car le Document que je lis n'aura pas toujours les nœuds au même endroit à chaque fois mais les noms des nœuds seront toujours les mêmes. Je essaie de récupérer le nœud

Jusqu'à présent j'ai :

System.out.println("Référence actuelle: " + 
    configurationDocument.getElementsByTagName("Parent").
        item(0).getChildNodes().item(0));

Le problème avec cela est que le dernier item(0) obtient toujours le mauvais nœud. Comment puis-je obtenir le nœud par nom (String) au lieu de par int ?

2voto

Kennet Points 3139

Utilisez XPath pour récupérer le nœud qui vous intéresse. Quelque chose comme ceci :

XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression xpr = xpath.compile("//Parent/name-of-item/name-of-item");
System.out.println(xpr.evaluate(configurationDocument, XPathConstants.STRING));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X