如何获取标签中有冒号的属性文本

时间:2014-08-02 21:12:18

标签: xml xpath

我有以下XML行:

<super:FirstName> Tom </super:FirstName>

我希望得到标签之间文本的价值,即我只想得到&#34; Tom&#34;。

我尝试过使用:

//*[name()='super:FirstName'][text()]

然而,这是输出包含标签的完整XML行。

有人有任何建议吗?

2 个答案:

答案 0 :(得分:1)

text()移出谓词:

//*[name()='super:FirstName']/text()

或者,如果您忽略名称空间前缀:

//*[local-name()='FirstName']/text()

或者,如果您正确处理名称空间,请在XPath库中注册前缀,并使用:

//super:FirstName/text()

答案 1 :(得分:0)

冒号引入了命名空间。在大多数编程语言中,您必须先注册命名空间,然后才能在XPath中使用它。如果您想忽略它,请使用

 //*[local-name()='FirstName']