XPath选择具有某个属性值的节点等于某个其他节点的属性值

时间:2011-05-19 07:48:01

标签: xpath

<grand id="grand">
  <parent>
    <child age="18" id="#not-grand"/>
    <child age="20" id="#grand"/> <!-- This is what I want to locate -->
  </parent>
</grand>

有人可以告诉我如何表达第二个孩子的位置吗?

这不起作用......

"/grand/parent/child[@id=concat('#',/grand/@id)]/@age"

谢谢。


对不起表达式还可以。我发现我在其他领域遇到了一些问题而不是表达本身。

2 个答案:

答案 0 :(得分:78)

此XPath特定于您提供的代码段。要选择ID为<child>的{​​{1}},您可以撰写#grand

获得年龄//child[@id='#grand']

希望这有帮助

答案 1 :(得分:26)

我认为这就是你想要的:

/grand/parent/child[@id="#grand"]