This is my 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>
I need an XPath query to retrieve all the names whose id is 11.
I tried:
String xpath = "/root/entry/value[@name=ID/text()='11']/value[@name='NAME']";
String xpath = "/root/entry/value[@name=ID/text()='11']/NAME";
Can someone tell me what is wrong in my query?
EDIT:
Expected Output:
USER1
USER2
both these have ID = 11
This would be the correct path:
To retrieve a list of nodes, you need to use the version of xPath.evaluate() that takes a returnType parameter: