用于选择所有叶节点的xpath表达式

时间:2016-06-03 13:10:28

标签: xpath

我偶然发现了在某个根节点上应用的以下XPATH表达式:

.//*[not(child::*)]

child :: *选择当前节点的所有子节点。 .//*选择当前节点下的所有节点(包括其子节点)

结果,我会直观地说表达式选择..所有叶子节点?即。没有更多子节点的节点。 也就是说,not(child :: *)实际上不会将子项数验证为0。

让我们在以下树的根节点上应用此表达式:

<root>
  <A>
    <C/>
    <D/>
    <E>
      <F/>
      <G>
        <H/>
      </G>
    </E>
  </A>
  <B>
    <I>
      <J/>
      <K/>
    </I>
  </B>
</root>

当我说我的表达选择C D F H J K?

时,我是否正确

1 个答案:

答案 0 :(得分:2)

是的,你是对的。表达式选择没有child,a.k.a.叶节点的节点。您可以使用像this one这样的XPath测试程序对其进行测试。