How to serialize and deserialize using C# .NET
// Assuming obj is an instance of an object
XmlSerializer x = new XmlSerializer(obj.GetType());
Stream stream = File.Open("data.xml", FileMode.Create);
x.Serialize(stream, persons);
stream.Close();
//Assuming objType is a System.Type set to the type of the object
Stream stream = File.Open("data.xml", FileMode.Open);
XmlSerializer x = new XmlSerializer(objType);
object obj = x.Deserialize(stream);
// Then to cast obj into whatever type it is eg:
XmlSerializer x = new XmlSerializer(obj.GetType());
Stream stream = File.Open("data.xml", FileMode.Create);
x.Serialize(stream, persons);
stream.Close();
//Assuming objType is a System.Type set to the type of the object
Stream stream = File.Open("data.xml", FileMode.Open);
XmlSerializer x = new XmlSerializer(objType);
object obj = x.Deserialize(stream);
// Then to cast obj into whatever type it is eg:
objType myObj = obj as objType;
实际代码:
Person class:
Code
系列化:
Code
生成的data.xml:
Code
反系列化:
Code
运行结果:
Code
代码排版有点问题,但是在编辑器展不开修改了,郁闷。
参考文档:
http://msdn.microsoft.com/en-us/library/system.xml.serialization.aspx