XPath selecting a node with some attribute value equals to some other node's attribute value [closed]
<grand id="grand">
<parent>
<child age="18" id="#not-grand"/>
<child age="20" id="#grand"/> <!-- This is what I want to locate -->
</parent>
</grand>
Can anybody tell me how to express for locating the second child?
This doesn't work...
"/grand/parent/child[@id=concat('#',/grand/@id)]/@age"
Thank you.
I'm sorry. The expression is OK. I found I got some problems in other area not the expression itself.
This XPath is specific to the code snippet you've provided. To select <child>
with id as #grand
you can write //child[@id='#grand']
.
To get age //child[@id='#grand']/@age
.
I think this is what you want:
/grand/parent/child[@id="#grand"]
精彩评论