给出一块Xml,如下图所示。如何编写XPATH查询以获取'leaf2'子项的值,其中'key'值具有特定值(比如2)
我在C#.NET工作。目前我只是想使用SelectNodes获取密钥的Xpath,找到正确的值,然后导航回到leaf2。
<root>
<child>
<anotherChild>
<key>1</key>
</anotherChild>
<leaf1>X</leaf1>
<leaf2>Y</leaf2>
<leaf3></leaf3>
</child>
<child>
<anotherChild>
<key>2</key>
</anotherChild>
<leaf1>A</leaf1>
<leaf2>B</leaf2>
<leaf3></leaf3>
</child>
</root>
答案 0 :(得分:8)
你想:
/root/child[anotherChild/key = '2']/leaf2
这就是说,“获取名为leaf2
的元素,其父级为child
,其祖父母为root
,其中child
正由其名为{{ 1}}名为anotherChild
的孩子,其值为key
。“
答案 1 :(得分:2)
或者,也许更灵活一点,因为它不假设祖父是根
//child/anotherChild/key[text()="2"]/../../leaf2
“找到带有文字2的密钥,父母是另一个孩子和祖父母,去祖父母(即孩子,找到leaf2”