在XPath中.//的含义是什么?

Tod*_*ned 9 xml xpath

我知道绝对XPath将从XML树中的根节点返回被检查的节点.

但我无法理解.//在XPath中用于检查/查找节点的含义.

kjh*_*hes 12

.是当前节点; 它很简短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>
Run Code Online (Sandbox Code Playgroud)

//p 将选择所有段落:

      <p>First paragraph</p>
      <p>Second paragraph</p>
      <p>Third paragraph</p>
Run Code Online (Sandbox Code Playgroud)

在另一方面,如果当前节点是在所述div元素(@id"id1"),然后.//p将选择只在当前节点下的段落:

      <p>First paragraph</p>
      <p>Second paragraph</p>
Run Code Online (Sandbox Code Playgroud)

请注意,.//p当前节点是id1 div因为第三个段落不在该div元素之下时,不会选择第三个段落.