使用xsd从ms sql数据库创建xml文件

时间:2015-10-08 06:38:23

标签: c# sql-server xml xsd

我需要"以编程方式"使用来自数据库的数据创建基于xsd的单个xml文件(例如,此db包含20个表)。此数据库是从此xsd文件创建的。我使用DataSet.ReadXmlScheme然后从这个数据集创建ms sql数据库。有可能吗?

1 个答案:

答案 0 :(得分:0)

从SQL Server表创建DataTable,然后使用DataTable.WriteXml将数据导出到XML文件。

此代码将填入datatable,然后将其写入 XML 字符串:

DataTable dt = new DataTable();
using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connection"].ConnectionString))
{
    connection.Open();
    System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand();
    command.Connection = connection;
    command.CommandText = @"SELECT * FROM  TableName";
    System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(command);
    adapter.Fill(dt);
}
MemoryStream ms = new MemoryStream();
dt.WriteXml(ms, XmlWriteMode.IgnoreSchema);
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string xml = sr.ReadToEnd();
ms.Close();
return xml;

如果需要,您可以使用不同的方法填充datatable