嗨伙计以下的xpath似乎不起作用.
//FullName[sum(string-length(FirstName) | string-length(LastName))>= 30]
错误:表达式必须求值为节点集.
XML片段
<FullName> <FirstName>somereallylongfirstnameguy</FirstName> <LastName>somereallylonglasttnameguyabcdefghijklmnopqrstuv</LastName> </FullName>
我知道sum函数将数字加在一起,字符串长度返回数字.
以下表达式工作正常:
//FullName[string-length(FirstName) >= 1]
任何帮助将不胜感激,谢谢!
解决方法
sum()函数
expects a node-set,您尝试使用string-length()调用,但失败. sum()似乎不是适当的函数.
您可以直接在谓词中添加长度:
//FullName[string-length(FirstName)+string-length(LastName) >= 30]
或者您可以先使用连接,然后获取长度:
//FullName[string-length(concat(FirstName,LastName)) >= 30]
或者,如果您的代码段代表所有FullName元素,只需考虑上下文节点的所有文本节点内容的长度,如下所示:
//FullName[string-length() >= 30]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。