xml - 用于跨多个子节点检查属性值的 XPath 表达式

标签 xml xpath

鉴于下面的 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() 函数返回 truefalse...

exists(/*/Entities[*/@Name='English' and */@Name='French' and */@Name='Norwegian'])

关于xml - 用于跨多个子节点检查属性值的 XPath 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591577/

相关文章:

XML 架构 : substitution groups

java - 写入 XML 文件

xpath - XPATH和XMLStarlet

php - Xpath中preg_match的错误是什么? undefined offset : 1

java - Selenium:根据可见文本获取属性值?

xml - xpath 日期比较

android - TextView 因 android 中父级的 LinearLayout wrap_content 而断线

java - Restful 中返回类型 xml 或 json

Android <include/> 工作但 ViewStub 不工作,为什么?

xml - XPath如何动态创建属性的路径