XmlSerializer .NET 序列化、反序列化

序列化对象

 

要序列化对象,首先创建要序列化的对象并设置其公共属性和字段。为此,您必须确定要将XML流存储的传输格式,作为流或文件。

例如,如果XML流必须以永久形式保存,则创建一个FileStream对象。

序列化对象

  1. 创建对象并设置其公共字段和属性。

  2. 构造一个XmlSerializer的使用对象的类型。有关更多信息,请参阅XmlSerializer类构造函数。

  3. 调用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();  

反序列化对象

当对对象进行反序列化时,传输格式决定是否创建一个流或文件对象。确定传输格式后,可以根据需要调用SerializeDeserialize方法。

  1. 使用反序列化对象的类型构造XmlSerializer。

  2. 调用反序列化方法来生成对象的副本。反序列化时,必须将返回的对象转换为原始类型,如以下示例所示,将对象反序列化为文件(尽管它也可以反序列化为流)。

MySerializableClass myObject;  
//使用反序列
化的对象类型//构造XmlSerializer的实例   。  
XmlSerializer mySerializer =   
新的 XmlSerializer(typeof(MySerializableClass));  
//要读取该文件,请创建一个FileStream。  
FileStream myFileStream =   
新的 FileStream(“myFileName.xml”,FileMode.Open);  
//调用Deserialize方法并转换为对象类型。  
myObject =(MySerializableClass)   
mySerializer.Deserialize(myFileStream)  

  

转载于:https://www.cnblogs.com/yunqie/p/6890859.html

原文地址:https://www.cnblogs.com/twodog/p/12140487.html