的XPath选择父母的孩子节点有其他节点文本

问题描述:

我已经和XML文档,其中包含一个非常复杂的(对我来说)狭窄不带换行 它有很多结构相似的元素:的XPath选择父母的孩子节点有其他节点文本

<member><name>virtual_size</name><value>117665792</value></member> 

我需要使用特定文本(本例中为virtual_size)来获取节点“成员”的子节点'value'的文本,该节点'member'也包含子节点'name'。也有可能有几个类似的节点。我可以使用[1]等吗?

"//*[text()='virtual_size']" 

这让我名字节点,但如何达到'价值'之一?

您可以使用

//member[name = 'virtual_size']/value 

发现与名称的成员,然后它的价值孩子

使用

(//member[name = 'virtual_size'])[1]/value