You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XQuery的for循环中实现字符串拼接并解决类型转换报错

报错原因

函数声明的返回类型为单个xs:string,但for循环遍历1~10后返回的是由10个字符串组成的序列,XQuery无法自动将序列强转为单个字符串,因此触发了XDMP-AS类型转换错误。

解决方法

使用string-join()函数将循环生成的字符串序列拼接为单个字符串即可,你可以按需指定拼接分隔符(空字符、逗号、换行符等都支持)。

修改后的完整代码如下:

xquery version "1.0-ml";
'use strict';
 
declare function local:Do_the_string($t as xs:string)  as xs:string{
   (: t为传入的节点路径参数 :)
   let $test2 := "ll"
   (: 外层用string-join把循环返回的序列转成单个字符串 :)
   let $data := string-join(
       for $n in 1 to 10
           (: 这里可以替换为你自己的拼接逻辑 :)
           return concat("test2", $n)
   , "") (: 第二个参数为分隔符,空代表直接拼接,需要换行可以换成"
" :)
   
   return $data
};

内容的提问来源于stack exchange,提问作者Raimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:48:04