在XPATH中使用过滤器的Dom4j selectNodes

时间:2015-09-30 17:24:21

标签: java xpath dom4j

<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>  

我做:

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

选择所有Number节点= 1,但返回“ true ”!而不是节点列表 如何获取所有节点Number = 1?

1 个答案:

答案 0 :(得分:1)

您的表达式"//Results/Details/Number = '1'"选择所有//Results/Details/Number,然后返回其中一个节点 - 转换为字符串时 - 等于'1'
(并且根据您的XML文档,这应该返回false而不是true)。

要选择文本内容等于Number的所有1个节点,请使用以下表达式:

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