对于XPath中的多个条件,是否比使用position()更简洁?

时间:2015-05-14 07:25:51

标签: xpath

在XPath中,您可以使用*[position()=1 or position()=last()]来获取第一个和最后一个匹配节点。但是,如果您只想要第一个或最后一个节点,则可以分别使用*[1]*[last()]。尝试使用*[1 or last()]之类的东西选择所有节点。是否有更简洁的方式加入条件?

1 个答案:

答案 0 :(得分:1)

简短回答:。对于此目的而言,没有比[position()=1 or position()=last()]简洁的方法。

关于您尝试[1 or last()]

的谓词
  • 号码0已转换为布尔值False,其余转换为True
  • last()返回上下文中最后一个元素的位置索引

鉴于上述规则,此类谓词表达式[1 or last()]始终转换为[True or True],其评估为True,这就是使用此谓词获取所有节点的原因