首页 新闻 搜索 专区 学院

谁可以提供给我一个xml序列化和2进制序列化的例子吗??

0
悬赏园豆:40 [已解决问题] 解决于 2011-07-18 12:27

最好是可以下载的代码,希望有序列化和反序列化的例子

最好把序列化的结果弄成字符串

星星点灯6的主页 星星点灯6 | 初学一级 | 园豆:171
提问于:2010-08-30 11:54
< >
分享
最佳答案
1

序列化类:

 

[Serializable()]
public class SerializableObject
{
public int Index { get; set; }
public string Name { get; set; }
}

 

 

序列化/反序列化方法:

 

SerializableObject obj = new SerializableObject { Index = 1, Name = "属性1" };

// 一, XML 序列化和反序列化
XmlSerializer xmlSerializer = new XmlSerializer(typeof(SerializableObject));

using (MemoryStream ms = new MemoryStream())
{
// 1, XML 序列化
xmlSerializer.Serialize(ms, obj);

// 以字符串形式显示序列化结果
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr
= new StreamReader(ms);
string xmlString = sr.ReadToEnd();

// 2, XML 反序列化
ms.Seek(0, SeekOrigin.Begin);
SerializableObject newObj
= (SerializableObject)xmlSerializer.Deserialize(ms);

sr.Close();
}

// 二, 二进制序列化和反序列化
BinaryFormatter binSerializer = new BinaryFormatter();

using (MemoryStream ms = new MemoryStream())
{
// 1, 二进制序列化
binSerializer.Serialize(ms, obj);

// 以字符串形式显示序列化结果
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr
= new StreamReader(ms);
string xmlString = sr.ReadToEnd();

// 2, 二进制反序列化
ms.Seek(0, SeekOrigin.Begin);
SerializableObject newObj
= (SerializableObject)binSerializer.Deserialize(ms);

sr.Close();
}

 

 

收获园豆:20
Launcher | 高人七级 |园豆:45045 | 2010-08-30 12:42
其他回答(1)
0

XML序列化可以看看这篇文章:http://www.cnblogs.com/baby_shark/archive/2008/12/25/1362358.html

二进制可以看这篇:http://www.cnblogs.com/suneryong/archive/2007/06/13/781818.html

还有篇你可以参考下,包含了XML序列化和2进制的:

http://www.cnblogs.com/baby_shark/archive/2008/12/25/1362358.html

收获园豆:20
kyo-yo | 园豆:5587 (大侠五级) | 2010-08-30 12:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册