鉴于下面的 XML,我正在寻找一个 XPath 查询来回答以下问题:
上面 XML 描述的语言列表是否包含所有这些语言:“英语”、“法语”和“挪威语”?
换句话说,有没有办法查明“实体”节点是否包含一组给定的语言? “英语”、“法语”和“挪威语”的答案为真,“阿拉伯语”、“英语”、“法语”和“挪威语”的答案为假。
<Document>
<Entities>
<Entity Name="Afrikaans" Id="2000" Type="Language"/>
<Entity Name="Dansk" Id="2002" Type="Language"/>
<Entity Name="Deutsch" Id="2003" Type="Language"/>
<Entity Name="English" Id="2005" Type="Language"/>
<Entity Name="Español" Id="2006" Type="Language"/>
<Entity Name="French" Id="2007" Type="Language"/>
<Entity Name="Indonesian" Id="2010" Type="Language"/>
<Entity Name="Italiano" Id="2012" Type="Language"/>
<Entity Name="Norwegian" Id="2018" Type="Language"/>
</Entities>
</Document>
最佳答案
如果您使用的是 XPath 2.0,exists()
函数返回 true
或 false
...
exists(/*/Entities[*/@Name='English' and */@Name='French' and */@Name='Norwegian'])
关于xml - 用于跨多个子节点检查属性值的 XPath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591577/