代码之家  ›  专栏  ›  技术社区  ›  David542

XPath中的后代::vs//

  •  1
  • David542  · 技术社区  · 4 年前

    下面两个XPath表达式有什么区别?

    //Title
    descendant::Title
    

    1 回复  |  直到 4 年前
        1
  •  1
  •   kjhughes    4 年前

    • // 简称 /descendant-or-self::node()/ descendant-or-self::
    • 这个 descendant::

    所以对于这个XML,

    <Title id="t1">
      <Title id="t2"/>
    </Title>
    
    • //Title 同时选择两者 Title 元素( id="t1" id="t2" )

    • descendant::Title 只选择内部 标题 元素( id=“t2”

    不请自来但值得注意的是:

    • /descendant::Title 同时选择两者 元素( id=“t1” )

    两者之间的区别 //标题 有一个谓词。看到了吗 Differences between // and /descendant in XPath selecting multiple children