Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XPath测试以查看是否所有子项';s属性具有一定的值_Xpath - Fatal编程技术网

XPath测试以查看是否所有子项';s属性具有一定的值

XPath测试以查看是否所有子项';s属性具有一定的值,xpath,Xpath,这是一个简单的XML文件,我想在其中进行XPath测试: <Prop> <Attx> <Atty tip="ddd"></Atty> <Atty tip="ddd"></Atty> <Atty tip="ddd"></Atty> </Attx> </Prop> 是否有一个更简单的查询可以实现相同的测试?此X

这是一个简单的XML文件,我想在其中进行XPath测试:

<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')])