C#Dataset的序列化与反序列化方法

avatar
作者
筋斗云
阅读量:0

在C#中,可以使用XmlSerializer类来实现Dataset的序列化和反序列化。下面是一个简单的示例:

using System; using System.Data; using System.IO; using System.Xml.Serialization;  public class Program {     public static void Main()     {         // 创建一个包含数据的DataSet         DataSet dataSet = new DataSet("SampleDataSet");                  DataTable table = new DataTable("SampleTable");         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);                  // 序列化DataSet         XmlSerializer serializer = new XmlSerializer(typeof(DataSet));                  using (FileStream fileStream = new FileStream("data.xml", FileMode.Create))         {             serializer.Serialize(fileStream, dataSet);         }                  // 反序列化DataSet         DataSet deserializedDataSet;                  using (FileStream fileStream = new FileStream("data.xml", FileMode.Open))         {             deserializedDataSet = (DataSet)serializer.Deserialize(fileStream);         }                  // 打印反序列化结果         foreach (DataRow row in deserializedDataSet.Tables["SampleTable"].Rows)         {             Console.WriteLine("ID: {0}, Name: {1}", row["ID"], row["Name"]);         }     } } 

在上面的示例中,首先创建一个包含数据的DataSet对象,并使用XmlSerializer类将DataSet对象序列化到文件" data.xml"中。然后再从文件中反序列化DataSet对象,并打印反序列化结果。

请注意,XmlSerializer类要求序列化的类型具有公共的无参数构造函数,因此需要确保DataSet对象可以被正确序列化和反序列化。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!