如何找到属性等于父节点属性之一的节点?

时间:2015-04-30 13:06:17

标签: xml xpath nodes

我是XML和XPath世界的新手,我希望你能解决我的一些疑虑。 这是XML文件的一小部分。

<country name="Mexico" population="95772464" area="1972550">
<city>
<name>Nezahualcoyotl</name>
<population>1255456</population>
</city>
<city>
<name>Mexico</name>
<population>9815795</population>
</city>
</country>

我必须找到与其国家/地区名称相同的城市。 我该如何解决这个问题?谢谢你们!

1 个答案:

答案 0 :(得分:0)

您可以尝试这种方式:

//country/city[name=../@name]

匹配谓词<city>节点的xpath返回列表([]内的表达式)。谓词本身将子节点<name>值的相等性与父节点的name属性值进行比较

  • name:获取子节点<name>

  • ../@name:获取父节点,然后获取其name属性