两种常用的序列化
2015-12-10 10:42
274 查看
第一:对Xml进行序列化
类是必须的
xml序列化
xml反序列化
常用序列化:
常用反序列化:
用法不难。
为什么需要序列化:
传统的传输机制已经不能保证安全了,序列化可以让客户端和服务端之间的传输更加安全,序列化传输,对方反序列化接收,序列化后是一个16进制的文件。
也常用。
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进制的文件。
也常用。
相关文章推荐
- .exe 不包含适合入口点的静态“Main”方法
- SqlServer2008启动不了的问题
- 浅试txt文件与xml文件互相转换
- Ajax返回值问题思考
- Winscp连接Amazon Ec2实例传送文件
- MySQL5.7 初使用
- WIN10 搜索功能无法搜索本地应用
- SQL Service Database BACKUP & RESTORE
- wait()和sleep()的区别
- Restful API的设计与实践
- Stream API:简单的聚合方法
- Android之使用PopupWindow使用和总结
- 如何从软硬件层面提升 Android 动画性能?
- [Qt]自定义控件之开关控件
- 7种网络连接方式demo
- hdu 1878 欧拉回路(水题,判断欧拉回路)
- Ajax调用查看页面的后台返回json格式数据
- 既有post提交又有get提交时的后台处理办法
- 静态成员和实例成员
- Socket套接字:客户端与服务端进行通信