Xpath:如何找到与指定Xpath条件匹配的节点的所有子代的父级?
以下是HTML:Xpath:如何找到与指定Xpath条件匹配的节点的所有子代的父级?,xpath,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>
<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>
//某些级别。。。
地址1
地址2
//某些级别。。。
地址2
地址3
地址4
//某些级别。。。
地址1
我需要在所有
a
元素中找到文章
,其中没有文本地址1
(本例中只有一篇文章
)。我使用了(//div[@class=“address item”]/genderant::a[not(contains(text(),“address 1”)))/祖先::article
,但它仍然可以找到article
地址1在哪里试试这个,如果它仍然不满足要求,请告诉我:
//article[not(.//a[normalize-space(text())="Address 1"])]
@安德森,你能告诉我这行不行吗<代码>//文章[not(//a[contains(text(),'Address 1')])]
我对此不确定,因此我向您询问。否。您应该指定上下文-//a
,而不是//a
//article[not(//a[contains(text(),'Address 1'))]
表示返回article
,如果整个文档中没有a
包含地址1
,而//article[not(.//a[contains(text(),'Address 1')])
表示返回文章
如果此文章
中没有包含地址1
的后代a
,请注意text()=“Address 1”
将匹配精确的文本内容,而只包含(text(),'Address 1')
-文本内容的一部分,因此“Address 1或某物”
,“某物和地址1”
也将与Hanks Mate配对,以分享您的知识。:)Andersson我使用contains()
,因为实际上文本“地址1”是“地址1”。也就是说,文本中有空格。因此,您的表达式通常会找到所有文章
。