在XPath中,您可以使用*[position()=1 or position()=last()]
来获取第一个和最后一个匹配节点。但是,如果您只想要第一个或最后一个节点,则可以分别使用*[1]
或*[last()]
。尝试使用*[1 or last()]
之类的东西选择所有节点。是否有更简洁的方式加入条件?
答案 0 :(得分:1)
简短回答:否。对于此目的而言,没有比[position()=1 or position()=last()]
简洁的方法。
关于您尝试[1 or last()]
:
0
已转换为布尔值False
,其余转换为True
。 last()
返回上下文中最后一个元素的位置索引鉴于上述规则,此类谓词表达式[1 or last()]
始终转换为[True or True]
,其评估为True
,这就是使用此谓词获取所有节点的原因