下面是详细讲解“C#从数据库读取数据到DataSet并保存到xml文件的方法”的完整攻略:
步骤1:连接数据库并读取数据
首先,需要在代码中连接数据库,从中读取数据,并将其存储在内存中的 DataSet 中。可以使用 SqlConnection 和 SqlDataAdapter 类来实现这个步骤。下面是一个示例代码:
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword";
string queryString = "SELECT * FROM myTable";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "myTable");
}
步骤2:将 DataSet 数据保存为 XML 文件
在内存中有了 DataSet 对象之后,可以将它保存为 XML 文件。可以使用 WriteXml() 方法来完成,以下是示例代码:
string fileName = "myDataSet.xml";
dataSet.WriteXml(fileName);
这将使用 DataSet 对象的默认设置,将数据保存为 XML 文件。可以指定其他设置,比如保存 XML 时不包含架构信息,如下所示:
bool writeSchema = false;
dataSet.WriteXml(fileName, writeSchema);
另外也可以指定保存格式,如 DataSet 节点下包含多个 Table 节点,以及每个 Table 节点包含多个 Column 节点:
XmlWriteMode mode = XmlWriteMode.WriteSchema;
dataSet.WriteXml(fileName, mode);
示例1:基础用法
以下是一个完整的示例和代码演示如何连接数据库并读取数据,保存到 DataSet 中并将其写出到 XML 文件:
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword";
string queryString = "SELECT * FROM myTable";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "myTable");
string fileName = "myDataSet.xml";
dataSet.WriteXml(fileName);
}
示例2:自定义 XML 文件
假设需要创建一个包含根元素的 XML 文件,标识数据来自哪个表。可以使用以下代码:
string rootName = "myData";
string tableName = "myTable";
string fileName = "myDataSet.xml";
string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword";
string queryString = "SELECT * FROM myTable";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, tableName);
DataTable table = dataSet.Tables[tableName];
table.TableName = rootName;
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.NewLineOnAttributes = true;
using (XmlWriter writer = XmlWriter.Create(fileName, settings))
{
dataSet.WriteXml(writer);
}
}
以上示例使用 XmlWriterSettings 来设置输出格式并创建一个 XmlWriter 对象,
然后把 DataSet 写到 XML 文件中。需要注意的是,我们可以自定义 DataSet 根节点和 Table 节点的名称。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#从数据库读取数据到DataSet并保存到xml文件的方法 - Python技术站