Xpath:如何查找与指定的xpath条件匹配的节点的所有后代的父级?

时间:2017-03-21 11:38:31

标签: xpath

有HTML:

<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 1
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 2
    </a>
  </div>
</article>
<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 2
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 3
    </a>
  </div>
  <div class="address item">
    <a class="address">
      Address 4
    </a>
  </div>
</article>  
<article>
//some levels...
  <div class="address item">
    <a class="address">
      Address 1
    </a>
  </div> 
</atricle>

我需要查找article,其中所有Address 1元素中都没有文字a(此示例中只有一个article)。我使用(//div[@class="address item"]/descendant::a[not(contains(text(), "Address 1"))])/ancestor::article但仍然找到article Address 1

1 个答案:

答案 0 :(得分:1)

试试这个并告诉我它是否仍然不符合要求:

//article[not(.//a[normalize-space(text())="Address 1"])]
相关问题