我知道绝对XPath将从
XML树中的根节点返回被检查的节点.
但是我无法理解在XPath中用于检查/查找节点的.//的含义.
解决方法
.是当前节点;它是self :: node()的缩写.
//是后轴或自身轴;它是/ descendant-or-self :: node()/的缩写.
同时,.//将从当前节点开始沿着后轴或自身轴选择.将此与//从文档根目录开始对比.
例
请考虑以下HTML:
<html> <body> <div id="id1"> <p>First paragraph</p> <div> <p>Second paragraph</p> </div> </div> <p>Third paragraph</p> </body> </html>
// p将选择所有段落:
<p>First paragraph</p> <p>Second paragraph</p> <p>Third paragraph</p>
另一方面,如果当前节点位于div元素(@id为“id1”),那么.//p将只选择当前节点下的段落:
<p>First paragraph</p> <p>Second paragraph</p>
请注意,当当前节点是id1 div时,第一段不会被.//p选中,因为第三段不在该div元素之下.