如何选择包含@ -sign(at-sign)的属性

时间:2010-11-23 07:12:03

标签: xml select xpath

鉴于此xml:

<results>
    <result version="@2.15" url="some url"/>
    <result version="2.14" url="some url"/>
</results>

如何选择包含version =“@ 2.15”的元素?我无法弄清楚如何将@ -sign放入XPath。

提前致谢, 埃里克

2 个答案:

答案 0 :(得分:2)

此XPath选择所需的result元素:

/results/result[@version='@2.15']

注意:无需“转义”文字@

答案 1 :(得分:1)

  

如何选择包含的元素   版本= “@ 2.15”?我有麻烦了   弄清楚如何把@ -sign放进去   XPath。

在XPath中这很简单:任何字符串 literal 必须用一对引号或撇号包围。

因此:

@x 

指定名为x

的属性

但:

'@x'

只是一个字符串文字,包含字符'@''x'

<强>解决方案

使用:

/*/*[@version='@2.15']

这将选择每个元素作为文档顶部元素的子元素,并且具有version属性,其值为字符串"@2.15"