所有不具有特定父元素的元素的XPath

问题描述 投票:0回答:1

假设我有以下的XML。

<div>
   <a>
      <label>a</label>
   </a>
   <b>
      <label>b</label>
   </b>
   <c>
      <d>
         <label>c-d</label>
      </d>
   </c>
   <b>
      <d>
         <label>b-d</label>
      </d>
   </b>
</div>

我想用Xpath找到所有的 "label "元素 但不是在 "label "元素里面 <b> 在这个例子中,我想得到的是

<label>a</label>
<label>c-d</label>
xml xpath xpath-2.0 xpath-1.0
1个回答
1
投票

如果我对您的问题理解正确的话,您是想获取所有不在 b 标签。

用下面的xpath试试。

//div//label[not(ancestor::b)]

enter image description here


2
投票

这个XPath。

//label[not(parent::b)]

选择所有 label 无元素 b 父母 根据你的标题。

这个XPath。

//label[not(ancestor::b)]

选择所有 label 无元素 b 祖先 根据你的例子。

© www.soinside.com 2019 - 2024. All rights reserved.