Phiber
Phiber

Reputation: 1103

Dom4j selectNodes with filter in XPATH

<Results>   
  <Details>  
    <Number> 01 </Number>
    <Seq> 01 </Seq>
  <Details>  
 <Details>  
    <Number> 02 </Number>
    <Seq> 01 </Seq>
  <Details>  
 <Details>  
    <Number> 01 </Number>
    <Seq> 03 </Seq>
  <Details>  
</Results>  

I do :

 .selectNodes("//Results/Details/Number = '1'");  

to select all Number nodes = 1, but it returns "true" ! instead of list of nodes.
How to get all nodes Number = 1 ?

Upvotes: 1

Views: 1412

Answers (1)

wero
wero

Reputation: 32980

Your expression "//Results/Details/Number = '1'" selects all //Results/Details/Number and then returns if one of these nodes - when converted to a string - equals '1'.
(And given your XML document this should return false not true).

To select all Number nodes whose text content equals 1 use the expression:

//Results/Details/Number[. = 1]

Upvotes: 1

Related Questions