XmlSerializer 对象的Xml序列化和反序列化
http://www.cnblogs.com/yukaizhao/archive/2011/07/22/xml-serialization.html
这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。
为什么要做序列化和反序列化?
.Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化。
范围:
本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化。
看一段最简单的Xml序列化代码
上面代码对int i进行了序列化,并将序列化的结果输出到了控制台,输出结果如下
|
<?
xml
version
=
"1.0"
encoding
"gb2312"
?>
<
int
>10</
>
|
可以将上述序列化的xml进行反序列化,如下代码
using
(StringReader rdr =
StringReader(
@"<?xml version=""1.0"" encoding=""gb2312""?>
<int>10</int>"
))
//声明序列化对象实例serializer
)serializer.Deserialize(rdr);
//输出反序列化结果
"i = "
+ i);
Console.Read();
}