XPath:根据有双胞胎的兄弟姐妹选择孩子'

时间:2015-04-28 11:26:16

标签: xml xpath siblings

我无法理解这一点。所以我有以下XML:

<config>
<environment>
    <loc>eu</loc>
    <url>something</url>
</environment>
<environment>
    <loc>au</loc>
    <loc>ap</loc>
    <url>somethingElse</url>
</environment>

我希望根据给定的<url>获取<loc>元素。

我已经获得了以下XPath,如果我想要 eu <url>,但是如果我想要 ap 则不起作用

投放(返回&#39;某事&#39;)

/config/environment[loc="eu"]/url

不起作用(不返回任何内容,期待&#39; somethingElse&#39;)

/config/environment[loc="ap"]/url

我知道/config/environment[loc[1]="ap"]/url可以使用,但我可以拥有任意数量的<loc>元素,因此我不希望我的XPath如此静态/依赖于位置。

提出任何帮助,我假设是一个简单的调整,所以无论<url>的顺序如何,我都可以得到<loc>

1 个答案:

答案 0 :(得分:2)

试试这个:

/config/environment/loc[text() = 'eu']/following-sibling::url

或者这个:

/config/environment/loc[text() = 'eu']/following-sibling::url[1]