Xpath抓取相应的子元素

时间:2017-05-11 11:41:42

标签: xml xpath

我尝试输出与完全独立的子元素的位置对应的特定子元素。即:

<FIRSTLIST>
    <ITEM>item a<ITEM>
    <ITEM>item b<ITEM>
    <ITEM>item c<ITEM>
</FIRSTLIST>

<SECONDLIST>
    <ITEM>no<ITEM>
    <ITEM>no<ITEM>
    <ITEM>yes<ITEM>
</SECONDLIST>

&#34;是的可以在SECONDLIST中的任何地方,以及&#34;是&#34;在这个例子的列表中排名第3,我想从FIRSTLIST输出第3项。有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

你可以尝试

//FIRSTLIST/ITEM[position()=count(//SECONDLIST/ITEM[text()="yes"]/preceding-sibling::ITEM)+1]

匹配所需的ITEM

如果您的工具支持XPath 2.0,您也可以使用

//FIRSTLIST/ITEM[position()=index-of(//SECONDLIST/ITEM, //SECONDLIST/ITEM[text()="yes"])]