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/ajax/6.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验证每个父节点都有所需的子节点_Xpath - Fatal编程技术网

XPath验证每个父节点都有所需的子节点

XPath验证每个父节点都有所需的子节点,xpath,Xpath,我试图测试每个指定的父节点是否有一个指定的子节点。例如,我有以下xml: <feed> <entry> <cacheId/> </entry> <entry> // missing cacheId </entry> </feed> //缺少缓存ID 第二个条目节点没有子cacheId节点。如果每个条目父节点都有一个cacheId节点,那么我需要一个整体true/false;或

我试图测试每个指定的父节点是否有一个指定的子节点。例如,我有以下xml:

<feed>
  <entry>
    <cacheId/>
  </entry>
  <entry>
    // missing cacheId
  </entry>
</feed>

//缺少缓存ID
第二个条目节点没有子cacheId节点。如果每个条目父节点都有一个cacheId节点,那么我需要一个整体true/false;或每个条目节点的true/false列表(如果它具有cacheId节点)


因此,对于上面的xml,我需要false或列表(true,false)。

使用XPath 2.0,您可以获得一系列布尔值:
/feed/entry/boolean(cacheId)
。使用XPath 1.0,您只能使用
not(boolean(/feed/entry[not(cacheId)])
使用XPath 2.0,您可以获得一系列布尔值:
/feed/entry/boolean(cacheId)
。在XPath 1.0中,您只能使用
not(boolean(/feed/entry[not(cacheId)])

XPath的传奇马丁·霍宁(Martin Honnen)把我揍了一顿。我谦恭地接受失败。@jdwilemo:什么,你的胜利者没有1UP?@MattH好像他真的需要我那可怜的1+,但这是肯定的。@jdwilemo:事实上,这是承认答案的完整性和正确性。尤其是因为听起来你也有同样的答案:-)-对你的方向也有一点认可。哇,谢谢MattH!我同意,只是觉得这个问题有点低于@MartinHonnen haha,我最近一直在尝试获取他的残片。XPath的传奇人物Martin Honnen击败了我。我谦恭地接受失败。@jdwilemo:什么,你的胜利者没有1UP?@MattH好像他真的需要我那可怜的1+,但这是肯定的。@jdwilemo:事实上,这是承认答案的完整性和正确性。尤其是因为听起来你也有同样的答案:-)-对你的方向也有一点认可。哇,谢谢MattH!我也同意,只是觉得这个问题有点低于@MartinHonnen哈哈,我最近一直在努力得到他的碎片。