XPath验证每个父节点都有所需的子节点
我试图测试每个指定的父节点是否有一个指定的子节点。例如,我有以下xml:XPath验证每个父节点都有所需的子节点,xpath,Xpath,我试图测试每个指定的父节点是否有一个指定的子节点。例如,我有以下xml: <feed> <entry> <cacheId/> </entry> <entry> // missing cacheId </entry> </feed> //缺少缓存ID 第二个条目节点没有子cacheId节点。如果每个条目父节点都有一个cacheId节点,那么我需要一个整体true/false;或
<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哈哈,我最近一直在努力得到他的碎片。