微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – 需要XPath结束 – 具有功能

我无法使用XPath函数.我应该只提取 XML文件中的条目,它们的名称以字母’z’结尾,我无法使其工作.我是xmllint用cat命令操作文件.

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。