序列化对象
要序列化对象,首先创建要序列化的对象并设置其公共属性和字段。为此,您必须确定要将XML流存储的传输格式,作为流或文件。
例如,如果XML流必须以永久形式保存,则创建一个FileStream对象。
序列化对象
-
创建对象并设置其公共字段和属性。
-
构造一个XmlSerializer的使用对象的类型。有关更多信息,请参阅XmlSerializer类构造函数。
-
调用Serialize方法生成对象的公共属性和字段的XML流或文件表示。以下示例创建一个文件。
1 MySerializableClass myObject = new MySerializableClass(); 2 //插入代码来设置对象的属性和字段。 3 XmlSerializer mySerializer = new 4 XmlSerializer(typeof(MySerializableClass)); 5 //要写入文件,请创建一个StreamWriter对象。 6 StreamWriter myWriter = new StreamWriter(“myFileName.xml”); 7 mySerializer.Serialize(myWriter,myObject); 8 myWriter.Close();
反序列化对象
当对对象进行反序列化时,传输格式决定是否创建一个流或文件对象。确定传输格式后,可以根据需要调用Serialize或Deserialize方法。
-
使用反序列化对象的类型构造XmlSerializer。
-
调用反序列化方法来生成对象的副本。反序列化时,必须将返回的对象转换为原始类型,如以下示例所示,将对象反序列化为文件(尽管它也可以反序列化为流)。
MySerializableClass myObject; //使用反序列 化的对象类型//构造XmlSerializer的实例 。 XmlSerializer mySerializer = 新的 XmlSerializer(typeof(MySerializableClass)); //要读取该文件,请创建一个FileStream。 FileStream myFileStream = 新的 FileStream(“myFileName.xml”,FileMode.Open); //调用Deserialize方法并转换为对象类型。 myObject =(MySerializableClass) mySerializer.Deserialize(myFileStream)