序列化分类:
(一)浅层序列化
XmlSerialization,是将对象的公共字段和属性或者方法的参数和返回值转换(序列化)为符合特定XML 架构定义语言(XSD) 文档的XML 流。
(二)深层序列化
BinaryFormatter和SoapFormatter,是将对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。
序列化图解:
浅层序列化:拷贝属性值到一个字节流的过程
深层序列化:拷贝对象数据到一个字节流的过程
示例代码:
ds.RemotingFormat = SerializationFormat.Binary;//序列化为二进制
BinaryFormatter bf = new BinaryFormatter ();
StreamWriter swDat = new StreamWriter ("output_dataset.dat");
bf.Serialize(swDat.BaseStream, ds);
swDat.Close();
ds.RemotingFormat = SerializationFormat.Binary;//序列化为二进制
BinaryFormatter bf = new BinaryFormatter ();
StreamWriter swDat = new StreamWriter ("output_dataset.dat");
bf.Serialize(swDat.BaseStream, ds);
swDat.Close();