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

如何修正BCP query out导出XML文件时出现的多余节点格式问题?

XML导出多余节点修正方案

修正后完整代码

SET @CommandOUT = '
bcp "SELECT CAST(XMLDATA AS NVARCHAR(MAX)) FROM [INTELLECTION].[dbo].[XMLwithOpenXMLout] WHERE ID = ' + @Hist_ID + '" ' +
'queryout "D:\New folder\' + @Hist_ID + '.xml" -S INTEL-SQL01\OUTSOURCECAPTURE -T -w -r -t'

EXEC xp_cmdshell @CommandOUT

关键修改点

  • 移除了原语句中冗余的FOR XML AUTO, root(), elements参数:XMLDATA字段本身已经是符合要求的XML结构,重复执行XML序列化操作会额外嵌套row、XMLDATA两层多余节点
  • 新增CAST(XMLDATA AS NVARCHAR(MAX))类型转换:避免BCP处理XML类型字段时自动添加额外格式转义
  • 去掉了查询中多余的row表别名:防止别名被识别为节点名嵌套到输出内容中

可选调整

如果需要导出UTF-8编码的XML文件,将参数-w替换为-C 65001即可,65001是UTF-8对应的Windows代码页编号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:51:00