当我使用FOR XML语句查询SQL Server时,我得到了以下格式的预期结果......没有正确的缩进---
<ROOT><SUBROOT><A>1111</A></SUBROOT><SUBROOT><B>2222</B></SUBROOT><ROOT>
如何格式化此结果或查询以获得以下格式?
<ROOT>
<SUBROOT>
<A>1111</A>
</SUBROOT>
<SUBROOT>
<B>2222</B>
</SUBROOT>
<ROOT>
答案 0 :(得分:5)
在GRID模式下运行查询时,XML列是超链接的 当您将鼠标悬停在其上时,会显示提示 单击它,如图所示,以显示格式化的XML选项卡。
答案 1 :(得分:2)
SQL Server无法“整理”XML结果。您需要使用第三方工具来执行此操作。 NotePad++有一些XML格式化工具可以很好地完成,只要你不使用大量的XML(又名100MB)文件。
如果您只想要一个非常基本的格式,您可以使用><
替换>\n<
或类似的字符串替换前端。尝试在SQL Server中进行任何类型的XML格式化时,您的性能将非常差。不要尝试在SQL Server上格式化XML。如初。
如果您正在运行.Net前端,您可以尝试插入类似TidyForNet的内容来完善XML,或者您可以通过XSLT转换(不是首选,恕我直言)来运行它。 / p>
注意:如果您只需要运行一次查询并以“整洁”格式查看结果XML,请选中RichardTheKiwi's answer。