//*[local-name()='element'] 和 //*:element 有什么区别?

  • 本文关键字:element 区别 local-name xpath
  • 更新时间 :
  • 英文 :


在某些用例中,表达式

//*[local-name()='element']

选择多于

//*:element

或者,换言之,第一种表达方式在更普遍的层面上起作用,而第二种表达方式似乎更具限制性。

这可能是什么原因?这似乎是一个名称空间问题,但我们还没有弄清楚。

节点测试*:element仅在XPath 2.0中有效。说明书上写着:

节点测试的形式也可以是*:NCName。在这种情况下,节点测试适用于步骤轴的主节点类型的任何节点,其本地名称与给定的NCName匹配,无论其名称空间或缺少名称空间。

所以它相当于*[local-name()='element']

最新更新