这是XPath混乱的常见原因。 首先是简单的部分:
//a
选择a
文档中的所有元素。//a//b
选择b
文档中属于a
元素后代的所有元素。
到目前为止,正常的东西。 接下来是棘手的部分:
- 要
b
在 兄弟姐妹中 (a
元素之下)选择最后一个元素://a//b[last()]
此处,过滤是
b选择标准的一部分,因为
[]优先级高于
//。
- 要选择 文档中 的最后一个
b
元素(在元素之下): __a
(//a//b)[last()]
在此,由于
last()所有优先
b元素
()均用于覆盖默认优先级,因此它是所有选定元素列表上的索引。



