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();
}
浙公网安备 33010602011771号