XPath - récupérer plusieurs valeurs à partir des chemins différents, basés sur la même condition

C'est mon XML

<root>
   <entry id="1">
      <value name="ID">11</value>
      <value name="ENABLE">0</value>
      <value name="NAME">USER1</value>
   </entry>
   <entry id="2">
      <value name="ID">11</value>
      <value name="ENABLE">0</value>
      <value name="NAME">USER2</value>
   </entry>
   <entry id="3">
      <value name="ID">12</value>
      <value name="ENABLE">0</value>
      <value name="NAME">USER1</value>
   </entry>
</root>

J'ai besoin d'une requête XPath pour récupérer tous les noms dont id est 11.

J'ai essayé:

String xpath = "/root/entry/value[@name=ID/text()='11']/value[@name='NAME']";
String xpath = "/root/entry/value[@name=ID/text()='11']/NAME";

Quelqu'un peut me dire quel est le problème dans ma requête?

EDIT:

Résultat Attendu:

USER1
USER2

ces deux ID = 11

  • Merci de préciser avec des exemples de résultats attendus. Qu'entendez-vous par retour de tous les "noms"?
  • Ma sortie attendue est USER1 et USER2 puisque les deux ont ID=11
  • Veuillez voir mon post pour le code Java nécessaire pour accéder à toutes les paires de nœuds au lieu de simplement la première.
InformationsquelleAutor Abi | 2013-01-25