使用XPath 1.0输出属性值

the*_*eta 4 xml xpath xmllint

例:

 <div class='known' name='unknown'>
Run Code Online (Sandbox Code Playgroud)

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

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

 //div[@class='known']/@name/string()
Run Code Online (Sandbox Code Playgroud)

但是找不到XPath 1.0的比喻

Dim*_*hev 5

用途:

string(//div[@class='known']/@name)
Run Code Online (Sandbox Code Playgroud)

这将生成文档顺序元素中第一个name属性的字符串值,以使其属性的字符串值为.divclass"unknown"

如果//div[@class='known']选择多个div元素并且您想要name选择第k个属性的值div,请使用:

string((//div[@class='known'])[$k]/@name)
Run Code Online (Sandbox Code Playgroud)

其中$k必须用所需的整数替换,否则该变量$k必须位于XPath表达式的计算上下文中.