XPATH 中带有过滤器的 Dom4j selectNodes
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>
我愿意:
.selectNodes("//Results/Details/Number = '1'");
到select所有Number节点=1,但它returns“true”!而不是节点列表。
如何获取所有节点 Number = 1 ?
你的表达式 "//Results/Details/Number = '1'"
select 都是 //Results/Details/Number
然后 return 如果这些节点之一 - 当转换为字符串时 - 等于 '1'
.
(根据您的 XML 文档,这应该 return false
而不是 true
)。
到select文本内容等于1
的所有Number
个节点使用表达式:
//Results/Details/Number[. = 1]
<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'");
到select所有Number节点=1,但它returns“true”!而不是节点列表。
如何获取所有节点 Number = 1 ?
你的表达式 "//Results/Details/Number = '1'"
select 都是 //Results/Details/Number
然后 return 如果这些节点之一 - 当转换为字符串时 - 等于 '1'
.
(根据您的 XML 文档,这应该 return false
而不是 true
)。
到select文本内容等于1
的所有Number
个节点使用表达式:
//Results/Details/Number[. = 1]