xml – XPath中.//的含义是什么?

前端之家收集整理的这篇文章主要介绍了xml – XPath中.//的含义是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道绝对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元素之下.

猜你在找的XML相关文章