我无法使用XPath函数.我应该只提取 XML文件中的条目,它们的名称以字母’z’结尾,我无法使其工作.我是xmllint用cat命令操作文件. ends-with()仅适用于XPath 2.0,我很确定服务器只有XPath 1.0,所以
ends-with()仅适用于XPath 2.0,我很确定服务器只有XPath 1.0,所以我尝试输入这个命令:
cat //country/city[substring(@name, string-length(@name) - string-length('z') +1)]/name
但我一直收到错误,我不确定我是不是写得不正确,或者说这不是正确的方法.
您的XPath缺少检查substring()的返回值的步骤,无论它是否等于预期的字符串结束值“z”.所以正确的XPath将是://country[substring(@name, string-length(@name) - string-length('z') +1) = 'z']/@name
由于-string-length(‘z’)1等于0,因此可以省略该部分以获得更简单的XPath,类似于other answer中@Kirill Polishchuk发布的XPath.