如何在XPATH中使用local-name()获取第一个元素?

时间:2014-02-18 08:54:45

标签: xml xpath

<xyy:UP xmlns:xyy="urn:com" xmlns:xyx="urn:com" xmlns:xzx="urn:com">
<xyx:ITM>
<xzx:PID>ABCDEFGH</xzx:PID>
</xyx:ITM>
<xyx:ITM>
<xzx:PID>IJKLMNOP</xzx:PID>
</xyx:ITM>
</xyy:UP>

我尝试按照xpath获取第二个'PID'标记,它有文本节点IJKLMNOP,但它不会返回任何内容。

//*[local-name()='PID'][1]

但如果我使用跟随

,它将列出所有PID
//*[local-name()='PID']

任何身体都可以把我拖出这个PLZ

1 个答案:

答案 0 :(得分:3)

//*[local-name()='PID'][1]应该返回所有第一个子PID值,在样本文档中为2。

如果您只想要第二个,可以使用括号:

(//*[local-name()='PID'])[2]

(记住XPath位置从1开始,而不是0)