XPath测试以查看是否所有子项';s属性具有一定的值
这是一个简单的XML文件,我想在其中进行XPath测试:XPath测试以查看是否所有子项';s属性具有一定的值,xpath,Xpath,这是一个简单的XML文件,我想在其中进行XPath测试: <Prop> <Attx> <Atty tip="ddd"></Atty> <Atty tip="ddd"></Atty> <Atty tip="ddd"></Atty> </Attx> </Prop> 是否有一个更简单的查询可以实现相同的测试?此X
<Prop>
<Attx>
<Atty tip="ddd"></Atty>
<Atty tip="ddd"></Atty>
<Atty tip="ddd"></Atty>
</Attx>
</Prop>
是否有一个更简单的查询可以实现相同的测试?此XPath表达式:
/Prop/Attx/Atty/@tip != 'ddd'
意思:至少有一个
@tip
属性不等于'ddd'
如果所有Atty元素都有一个值为“ddd”的属性tip,则此表达式将仅返回true:
或者,如果存在不带tip属性的Atty元素,则以下表达式也将返回true。只有当Atty元素的tip属性的值不是“ddd”时,才会返回false:
当然,路径可以变得更具体,而不是“/”任何地方的选择器。应该在XPath 1.0和2.0中工作。比我快:)我会/Prop/Attx/Atty[不是(@tip=“ddd”)。我是个愚蠢的人!如此简单,如此逻辑!很抱歉问你这个真正的问题:-(@robob:我很高兴这对你有帮助。
/Prop/Attx/Atty/@tip != 'ddd'
not(//Atty[not(@tip = 'ddd')])
not(//Atty[@tip and not(@tip = 'ddd')])