jam*_*ock 5 xml xpath string-length
嗨伙计以下的xpath似乎不起作用.
//FullName[sum(string-length(FirstName) | string-length(LastName))>= 30]
Run Code Online (Sandbox Code Playgroud)
错误:表达式必须求值为节点集.
XML片段
<FullName>
<FirstName>somereallylongfirstnameguy</FirstName>
<LastName>somereallylonglasttnameguyabcdefghijklmnopqrstuv</LastName>
</FullName>
Run Code Online (Sandbox Code Playgroud)
我知道sum函数将数字加在一起,字符串长度返回数字.
以下表达式工作正常:
//FullName[string-length(FirstName) >= 1]
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢!
该sum()函数需要一个节点集,您尝试在调用中提供该string-length()节点集,但失败了。sum()这里似乎不是合适的函数。
您可以直接在谓词中将长度相加:
//FullName[string-length(FirstName)+string-length(LastName) >= 30]
Run Code Online (Sandbox Code Playgroud)
或者您可以先使用连接,然后获取长度:
//FullName[string-length(concat(FirstName,LastName)) >= 30]
Run Code Online (Sandbox Code Playgroud)
或者,如果您的代码片段代表所有FullName元素,只需考虑上下文节点的所有文本节点内容的长度,如下所示:
//FullName[string-length() >= 30]
Run Code Online (Sandbox Code Playgroud)