灯火阑珊

纷扰城市中,似乎遗忘这城市的美;繁杂世事中似乎遗忘最初的悸动。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


实践是检验真理的唯一标准,看下面的代码:

//序列化和反序列化的测试
//构造测试数据,一个DataTable
System.Data.DataTable dt = new DataTable();
dt.Columns.Add(
"Id",System.Type.GetType("System.Int32"));
dt.Columns.Add(
"Name",System.Type.GetType("System.String"));

DataRow dr1 
= dt.NewRow();
dr1[
"Id"= 1;
dr1[
"Name"= "atao";
dt.Rows.Add(dr1);

DataRow dr2 
= dt.NewRow();
dr2[
"Id"= 2;
dr2[
"Name"= "tommy";
dt.Rows.Add(dr2);

//序列化
IFormatter formatter = new SoapFormatter();
System.IO.FileStream fs 
= new System.IO.FileStream("d:/test.xml",
                                                                             System.IO.FileMode.Create,
                                                                             System.IO.FileAccess.Write,
                                                                             System.IO.FileShare.None);
formatter.Serialize(fs,dt);
fs.Close();


//反序列化
IFormatter formatter_d = new  SoapFormatter();
System.IO.FileStream fs_d 
= new System.IO.FileStream("d:/test.xml",
                                                                                 System.IO.FileMode.Open,
                                                                                 System.IO.FileAccess.Read,
                                                                                 System.IO.FileShare.None);

DataTable dtt 
= (DataTable)formatter_d.Deserialize(fs_d);

this.DataGrid1.DataSource = dtt.DefaultView;
this.DataGrid1.DataBind();
//_________________________________________________________________

要更换序列化方式,只需把formatter更换就可以了。比如:IFormatter formatter_d = new  BinaryFormatter();
posted on 2007-01-02 09:47  灯火阑珊  阅读(2553)  评论(1编辑  收藏  举报