使用XPath 1.0输出属性值

时间:2012-01-28 23:46:11

标签: xml xpath xmllint

示例:

 <div class='known' name='unknown'>

如何根据已知的name attribure值返回class属性值('unknown'),XPath 1.0?

在寻找答案时,我发现XPath 2.0有这样的工具:

 //div[@class='known']/@name/string()

但是找不到XPath 1.0的类比

1 个答案:

答案 0 :(得分:5)

使用

string(//div[@class='known']/@name)

这将生成文档顺序name元素中第一个的div属性的字符串值,以使其class属性的字符串值为{ {1}}。

如果"unknown"选择了多个//div[@class='known']元素,并且您想要第k个选定div的{​​{1}}属性的值,请使用:

name

其中div必须替换为所需的整数,否则变量string((//div[@class='known'])[$k]/@name) 必须位于XPath表达式的评估上下文中。