使用WriteXml方法可将DataSet保存为XML文件,如dataSet.WriteXml("data.xml"),生成包含数据和结构的XML内容,支持多种输出目标并可通过XmlWriteMode控制格式。

在C#中,将 DataSet 保存为 XML 数据非常简单,.NET 提供了内置的 WriteXml 方法,可以直接将 DataSet 的结构和数据导出为 XML 文件或流。
使用 WriteXml 方法保存 DataSet 为 XML
你可以调用 DataSet 的 WriteXml 方法,将数据集内容写入文件、TextWriter 或 Stream。默认情况下,它会同时保存数据和结构(如表结构、列类型等)。
// 示例:将 DataSet 保存为 XML 文件
using System;
using System.Data;
// 创建一个 DataSet 并添加一些数据
DataSet dataSet = new DataSet("MyData");
DataTable table = new DataTable("Users");
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Rows.Add(1, "Alice");
table.Rows.Add(2, "Bob");
dataSet.Tables.Add(table);
// 保存为 XML 文件
dataSet.WriteXml("data.xml");
执行后,会在程序运行目录生成 data.xml 文件,内容类似:
1 Alice 2 Bob
保存选项说明
WriteXml 支持多种重载方式,可根据需要选择输出目标:
- WriteXml(string fileName):保存到指定路径的 XML 文件
- WriteXml(Stream stream):写入内存流或其他流对象
- WriteXml(TextWriter writer):通过文本写入器输出
如果你想只保存数据结构(Schema),可以使用 WriteXmlSchema 单独保存 XSD 模式。
控制 XML 输出格式
默认情况下,WriteXml 同时输出数据和结构。如果你只想保存数据,确保 Schema 已定义。如果想先写 Schema 再写数据,也可以分步处理:
// 先写 Schema
dataSet.WriteXmlSchema("schema.xsd");
// 再写数据
dataSet.WriteXml("data_only.xml", XmlWriteMode.WriteSchema);
使用 XmlWriteMode.WriteSchema 可以在 XML 中嵌入结构信息,便于后续读取时还原完整的 DataSet。
读取 XML 回 DataSet
对应地,可以用 ReadXml 方法从 XML 文件恢复 DataSet:
DataSet loadedSet = new DataSet();
loadedSet.ReadXml("data.xml");
基本上就这些。只要调用 WriteXml,就能轻松把 DataSet 保存成 XML 格式,适合配置、缓存或数据交换场景。










