如何从SQL数据库中读取数据并将其存储到XML文件中?

问题描述:

我有一个从XML文件读取其内容的Silverlight应用程序。
用户可以输入数据并将其存储在SQL数据库中。如何从SQL数据库中读取数据并将其存储到XML文件中?

如何从SQL数据库中读取数据并将其存储到XML文件中?

一个简单的方法(假定您使用的是SQL Server)是在检索数据的查询末尾附加FOR XML AUTO。然后这将返回结果集作为XML文件。例如,以Northwind数据库作为示例,您可以使用此查询:

SELECT * FROM Products as P 
INNER JOIN Categories as C 
ON P.CategoryID = C.CategoryID 
FOR XML AUTO 

这将产生以下XML:

<P ProductID="1" ProductName="Chai" SupplierID="1" CategoryID="1" QuantityPerUnit="10 boxes x 20 bags" UnitPrice="18.0000" UnitsInStock="39" UnitsOnOrder="0" ReorderLevel="10" Discontinued="0"> 
    <C CategoryID="1" CategoryName="Beverages" Description="Soft drinks, coffees, teas, beers, and ales" /> 
</P> 
<P ProductID="2" ProductName="Chang" SupplierID="1" CategoryID="1" QuantityPerUnit="24 - 12 oz bottles" UnitPrice="19.0000" UnitsInStock="17" UnitsOnOrder="40" ReorderLevel="25" Discontinued="0"> 
    <C CategoryID="1" CategoryName="Beverages" Description="Soft drinks, coffees, teas, beers, and ales" /> 
</P> 

更多信息请参见Retrieving Data as XML from SQL Server

要从SQL Server中检索数据,您需要使用ADO.NET。这是一个太大的话题,因此我建议reading a tutorial。但是,基本前提是您查询数据库并将数据作为XML返回,然后将其存储为字符串。一旦在字符串中,您可以write this to a file

+0

谢谢丹,那很有帮助! 但我可以在哪里指定这些XML值将被写入的文件的名称? – Morano88 2010-04-15 15:05:07

+0

您需要通过查询数据库以编程方式执行此操作,将C#中的XML返回,然后将其写入文件。查看我更新的答案以获取更多信息。 – 2010-04-15 16:11:26