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

问题描述:

如果我有数以千计的分层记录从数据库中取出并生成xml,那么通过良好的性能和较少的CPU利用率,最好的方法是什么?从数据库中的数据生成XML的最佳方式是什么?

+0

你能否提供关于应用程序和数据库结构的更多信息? – thomasrutter 2009-02-28 12:17:51

您可以使用

FOR XML  

查询 的结果返回一个XML文档输出从SQL Server 2005直接XML。必须与三个RAW,AUTO 和EXPLICIT选项

RAW 

在结果集中的每一行 一个用来与一个通用的 标识符作为元素标签

XML元素
AUTO  

结果返回在一个简单的 嵌套的XML树。的元件将 为每个表字段来产生 SELECT子句中

EXPLICIT  

明确地指定所得 XML树的形状。 查询必须写在一个 特定的方式使得 指定

XMLDATA 

返回模式有关嵌套附加 信息,但不将根元素添加到结果

ELEMENTS  

指定列为 作为子元素返回到表 元素。如果没有指定,它们被映射为 属性使用

XMLSCHEMA 

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

产生在同一时间内联XSD架构

XSINIL 

你可以也以二进制形式返回数据。

您可能想看看MSDN for XML support in SQL Server 2005,了解诸如XQuery,XML数据类型等技术。

Oracle有这方面的工具,所以我猜SQL-Server也是如此,但是你需要一个模式。就个人而言,我使用一个php脚本,但对于需要定制的大型应用程序来说,这是另一回事。

这取决于 - 如果您的应用程序和数据库服务器位于不同的计算机上,则需要指定要减少负载的CPU。如果您的数据库已经加载完成,那么您最好在应用程序服务器上执行XML转换,否则请继续并使用SQL Server FOR XML功能。