我运行以下语句在 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"/>
请您回答我怎样才能得到正确的结果?
感谢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 '