您的位置:首页 > 其它

两种常用的序列化

2015-12-10 10:42 274 查看
第一:对Xml进行序列化



publicclassPerson
{
privatestringname;
publicstringName
{
get{returnname;}
set{name=value;}
}

privatestringsex;
publicstringSex
{
get{returnsex;}
set{sex=value;}
}

privateintage;
publicintAge
{
get{returnage;}
set{age=value;}
}

}



类是必须的



xml序列化

Personp=newPerson(){Name="张三",Sex="男",Age=19};
XmlSerializerxs=newXmlSerializer(typeof(Person));
using(FileStreamfs=newFileStream(@"a.xml",FileModel.Create))
{
xs.Serialize(fs,p);
}
Console.WriteLine("xml序列化成功");


xml反序列化

Personitem=xs.Deserialize(newFileStream(@"a.xml",FileMode.Open))asPerson

Console.WriteLine(string.Format("{0}\t{1}\t{2}",item.Name,item.Sex,item.Age))

Console.ReadKey();


常用序列化:

List<Person>lst=newList<Person>();
lst.Add(newPerson("张三",19));

FileStreamfs=newFileStream("a",FileMode.Create,FileAccess.Write);

BinaryFormatterbf=newBinaryFormatter();
bf.Serialize(fs,lst);

Console.WriteLine("序列化成功")


常用反序列化:

FileStreamfs=newFileStream("1",FileMode.Open,FileAccess.Read);

BinaryFormatterDebf=newBinaryFormatter();

List<Person>ll=(List<Person>)Debf.Deserialize(fs);

foreach(Personiteminll)
{
Console.WriteLine("{0}{1}",item.name,item.age);
}


用法不难。

为什么需要序列化:

传统的传输机制已经不能保证安全了,序列化可以让客户端和服务端之间的传输更加安全,序列化传输,对方反序列化接收,序列化后是一个16进制的文件。

也常用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: