XPath识别某些儿童群体

时间:2012-12-03 10:30:12

标签: xml xpath

假设我有一些像这样的XML:

<group>
  <request>
    <field id="a"/>
    <field id="b"/>
    <field id="c"/>
  </request>
  <request>
    <field id="a"/>
    <field id="b"/>
    <field id="d"/>
  </request>
</group>

请注意,<request>元素的顺序无法保证。

我想提出两个XPath表达式,第一个检查带有子节点a,b和c的<request>是否存在,第二个带有子节点a,b和d的<request>存在。

如何指定?我最接近的是使用带编号的谓词语法,但我遗漏了一些关于如何指定多个子匹配的内容,以及未定义<request>元素顺序的事实也让我感到沮丧。< / p>

提前致谢

格伦。

2 个答案:

答案 0 :(得分:2)

  

我想提出两个XPath表达式,第一个检查它   <request>有孩子abc存在,第二个   有孩子<request>ab的{​​{1}}存在

使用

d

对于第二个表达式使用

boolean(/*/request[field[@id='a'] and field[@id='b'] and field[@id='c']])

答案 1 :(得分:1)

这不是你要找的吗?

request[field[@id = 'a'] and field[@id='b'] and field[@id='c']]