【问题标题】:What is meaning of .// in XPath?XPath 中 .// 的含义是什么?
【发布时间】:2015-07-13 19:50:33
【问题描述】:

我知道绝对 XPath 会从 XML 树的根节点返回被检查的节点。

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

【问题讨论】:

    标签: xml xpath


    【解决方案1】:

    .是当前节点;它是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 元素(与"id1" 中的@id),那么.//p 将只选择当前节点下的段落

          <p>First paragraph</p>
          <p>Second paragraph</p>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-22
      • 2011-06-01
      • 1970-01-01
      • 2014-07-02
      • 2011-03-30
      • 2014-10-13
      • 2017-12-09
      • 1970-01-01
      相关资源
      最近更新 更多