<doc ok="yes">
<a>
<b>
<c>
aa
<d ok="yes">
bb
</d>
cc
</c>
</b>
</a>
<e>
ee
</e>
<f ok="no">
no
</f>
</doc>
我需要使用XPath检索节点列表,其中每个节点必须满足以下条件:
节点至少有一个子文本节点
如果该节点(或祖先轴中最接近的节点)具有属性“ok”,则其值必须为“yes”
当任何祖先是结果的一部分时,排除该节点
我已经从条件(1)开始使用此表达式//*[count(./text()[normalize-space()])>0]。它返回、、和。我不知道如何排除。