从数据库中的数据生成XML的最佳方法是什么?

ren*_*nil 0 c# xml performance sql-server-2005

如果我从数据库中获取数千个分层记录并生成xml,那么以最佳方式执行此操作具有良好的性能和较低的CPU利用率?

Rus*_*Cam 7

您可以使用直接从SQL Server 2005输出XML

FOR XML    
Run Code Online (Sandbox Code Playgroud)

查询结果作为XML文档返回.必须与三个RAW,AUTO和EXPLICIT选项之一一起使用

RAW
Run Code Online (Sandbox Code Playgroud)

结果集中的每一行都是一个XML元素,通用标识符作为元素标记

AUTO    
Run Code Online (Sandbox Code Playgroud)

结果在简单的嵌套XML树中返回.将为SELECT子句中的每个表字段生成一个元素

EXPLICIT    
Run Code Online (Sandbox Code Playgroud)

显式指定生成的XML树的形状.必须以特定方式编写查询,以便指定有关嵌套的其他信息

XMLDATA
Run Code Online (Sandbox Code Playgroud)

返回架构,但不将根元素添加到结果中

ELEMENTS    
Run Code Online (Sandbox Code Playgroud)

指定将列作为子元素返回到表元素.如果未指定,则将它们映射为属性

使用时生成内联XSD架构

XMLSCHEMA
Run Code Online (Sandbox Code Playgroud)

您可以使用处理记录中的空值

XSINIL
Run Code Online (Sandbox Code Playgroud)

您还可以以二进制形式返回数据.

您可能希望在MSDN上查看SQL Server 2005中的XML支持,了解XQuery,XML数据类型等技术.