我是一名Orbeon表单的开发者,需要使用XPath来检索属性值。我的情况如下所述。
我有一个如下所示的XML节点:
<n>
<node>
<page id='1'>true</page>
<page id='2'>false</page>
<page id='3'>true</page>
<page id='4'>true</page>
<page id='5'>false</page>
<page id='6'>true</page>
</node>
</n>
现在当我将任何属性值传递给xpath时,它应该返回找到下一个具有值“true”的节点的属性值。例如,如果我传递id = 1,则应该将结果作为3返回,因为在id = 1之后,下一个具有true的节点是id = 3。请注意,我必须只获取3而不是3、4和6。
我尝试了以下内容,但未获得预期的结果。
/n/node/page[@id>"1" and .='true']/@id
扩展我的问题:
如果我给出最后一个值,并期望下面的属性值为真,应该适用于同一情况。例如,如果我给出6,xpath表达式应该给我4。如果需要,我不介意使用另一个xpath表达式。
请帮助我。