加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – Sum String-Xpath的两个不同节点的长度 – Sum两个节点的

发布时间:2020-12-16 23:13:15 所属栏目:百科 来源:网络整理
导读:嗨伙计以下的xpath似乎不起作用. //FullName[sum(string-length(FirstName) | string-length(LastName))= 30] 错误:表达式必须求值为节点集. XML片段 FullName FirstNamesomereallylongfirstnameguy/FirstName LastNamesomereallylonglasttnameguyabcdefghi
嗨伙计以下的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]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读