在这个XPath表达式中//div[@id=”myID”]|p
,//
运算符是否应用于union运算符的两边?或者,此表达式是否只返回文档中div
属性值为id
的所有myID
元素以及作为上下文节点子元素的所有p
元素?
是否有对XPath运算符绑定和关联性的引用?
答案 0 :(得分:4)
XPath EBNF grammar表示运算符之间具有以下优先级(从最低到最高):
来源:XML Path Language (XPath) 2.0 (Second Edition)
(另见:XML Path Language (XPath) 3.0)
由于//
和[]
的优先级高于|
(union),因此您的XPath表达式
//div[@id=”myID”]|p
说
div
属性值选择文档中的所有@id
元素
等于myID
,p
元素作为上下文元素的子元素产生最终结果(正如您在第二次解释中所预期的那样)。