xpath检查指定的值是否在每个子元素中至少存在一次



我有这个xml。

<collection>
<item>
<id>001</id>
<attributes>
<attr1>A</attr1>
</attributes>
<attributes>
<attr1>B</attr1>
</attributes>
</item>
<item>
<id>002</id>
<attributes>
<attr1>B</attr1>
</attributes>
</item>
<item>
<id>003</id>
<attributes>
<attr1>A</attr1>
</attributes>
</item>
</collection>

我需要我的xpath查询来返回我";真";如果每个CCD_ 1元素包含至少一个CCD_。当我试图详细阐述这个线程时,我尝试了这个xpath(谢谢Mads,你回答了错误的问题,我的错(

//item/attributes/attr1/text()='A'

在XPath2和更高版本中,您可以直接编写every $item in //item satisfies $item/attributes/attr1 = 'A'

对于XPath1.0,我倾向于使用否定,我认为:not(//item[not(attributes/attr1 = 'A')])。但我现在通常在考虑XPath3,所以最好让喜欢XPath1或觉得他/她可以(仍然?(处理版本的人来回答这个问题。

最新更新