5

当我使用 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>
4

2 回答 2

5

点击这里

在 GRID 模式下运行查询时,XML 列是超链接的。
将鼠标悬停在提示上时会出现提示。
如图所示单击它以显示格式化的 XML 选项卡。

于 2012-10-22T20:34:28.727 回答
2

SQL Server 没有任何方法可以“整理”XML 结果。您需要使用第三方工具来执行此操作。NotePad++有一些表现良好的 XML 格式化工具,只要您不使用大得离谱的 XML(又名 100MB)文件。

如果你只想要一个非常基本的格式,你可以用你的前端做一个字符串替换或类似的东西><>\n<尝试在 SQL Server 中对 XML 进行任何类型的格式化时,您的表现将非常糟糕。不要尝试在 SQL Server 上格式化您的 XML。曾经。

如果您正在运行 .Net 前端,则可以尝试插入TidyForNet之类的东西来美化 XML,或者您可以通过 XSLT 转换运行它(恕我直言,不是首选)。

注意:如果您只需要运行一次查询并以“整洁”的格式查看生成的 XML,请查看RichardTheKiwi 的答案

于 2012-10-22T20:35:30.083 回答