SQL Server BCP 中的 XML 格式

问题描述 投票:0回答:1

我运行以下语句在 SQL Server 中生成 XML 输出:

EXEC xp_cmdshell 'bcp "select * FROM DataCenter.Dbo.TblCity  FOR XML AUTO" 
     queryout "C:\Sample\Test.xml" -T  -c -r -C 65001  -t, ' 

输出为:

<DataCenter.Dbo.TblCity Id="1" PortalUserId="11"/><DataCenter.Dbo.TblCity Id="2" PortalUserId="22"/>

但我希望结果是这样的:

<DataCenter.Dbo.TblCity Id="1" PortalUserId="11"/>
<DataCenter.Dbo.TblCity Id="2" PortalUserId="22"/>

请您回答我怎样才能得到正确的结果?

sql-server xml ssms bcp
1个回答
0
投票

感谢https://stackoverflow.com/users/13061224/siggemannen

通过在查询级别中替换来拆分元素并使用“-r ”:

EXEC xp_cmdshell 'bcp "select replace((select * FROM DataCenter.Dbo.TblCity  FOR XML AUTO), '/><','/>' + CHAR(13) + CHAR(10) + '<')" queryout "C:\Sample\Test.xml" -T  -c -r \n -C 65001 ' 
© www.soinside.com 2019 - 2024. All rights reserved.