DataTable的序列化和反序列化(格式不变保存文件和读取)

从数据库中读取的dataTable数据可以直接以datatable的格式保存为文件,可以不用分别写xml(曾在井数据支持单机(不调用服务读取数据库)的情况下使用)

代码如下:

序列化:

                if (curDT != null)
                {

       string filepath =DirectorySetting.DirectorySetting.DataPath + "http://www.cnblogs.com/stupidfish/admin/file://jing//" + objectID + ".xml";
                    XmlWriter writer = XmlWriter.Create(filepath);
                    System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(DataTable));
                    serializer.Serialize(writer, curDT);
                    writer.Close();
                }

反序列化:

      string folderPath = DirectorySetting.DirectorySetting.DataPath + "http://www.cnblogs.com/stupidfish/admin/file://jing//";

                DirectoryInfo TheFolder = new DirectoryInfo(folderPath);

      foreach (FileInfo NextFile in TheFolder.GetFiles())
                {
                    if (NextFile.FullName == filePath)
                        continue;
                    FileStream fs = new FileStream(NextFile.FullName, FileMode.Open);
                    XmlReader xmlReader = XmlReader.Create(fs);
                    System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(System.Data.DataTable));
                    System.Data.DataTable curDT = serializer.Deserialize(xmlReader) as System.Data.DataTable;
                    xmlReader.Close();
                    fs.Close();
                }

 

posted on 2011-09-02 17:27  芸芸  阅读(728)  评论(0)    收藏  举报

导航