温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.net中的二进制序列化和xml序列化分别是什么

发布时间:2021-06-17 16:07:40 来源:亿速云 阅读:167 作者:chen 栏目:编程语言

本篇内容介绍了“.net中的二进制序列化和xml序列化分别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

序列化技术,就是将对象持久存储。 可以这样理解:序列化就是将对象占用的内存的数据copy到持久存储设备,比如硬盘。序列化有什么用呢?

两点作用:

1、持久的存储对象状态;

2、分布式运算中传递数据的底层实现。

.Net框架封装的序列化技术包含两种,即 二进制序列化 和 xml序列化

(以下代码都要求被序列化的对象的类型使用Serializable特征类)

二进制序列化的实现 (using System.Runtime.Serialization.Formatters.Binary;)

序列化代码:

//打开文件流  FileStream fs = new FileStream(保存序列化数据的文件路径, FileMode.OpenOrCreate);  //创建二进制序列化对象  BinaryFormatter bf = new BinaryFormatter();  //调用二进制序列化对象的序列化方法执行序列化操作  bf.Serialize(fs, 被序列化的对象);  //关闭文件流  fs.Close();

反序列化代码:

//打开文件流  FileStream fs = new FileStream(保存序列化数据的文件路径, FileMode.OpenOrCreate);  //创建二进制序列化对象  BinaryFormatter bf = new BinaryFormatter();  //调用二进制序列化对象的反序列化方法执行反序列化操作  从文件中反序列化得到的对象 = bf.Deserialize(fs) as 被序列化对象的类型;  //关闭文件流  fs.Close();

XML序列化的实现(using System.Xml.Serialization;)

序列化代码:

//打开文件流  FileStream fs = new FileStream(保存序列化数据的文件路径, FileMode.OpenOrCreate);  //创建XML序列化对象  XmlSerializer xs = new XmlSerializer(typeof(被序列化对象的类型));  //调用XML序列化对象的序列化方法执行序列化操作  xs.Serialize(fs, 被序列化的对象);  //关闭文件流  fs.Close();

反序列化代码:

//打开文件流  FileStream fs = new FileStream(保存序列化数据的文件路径, FileMode.OpenOrCreate);  //创建XML序列化对象  XmlSerializer xs = new XmlSerializer(typeof(被序列化对象的类型));  //调用XML序列化对象的反序列化方法执行反序列化操作  从文件中反序列化得到的对象 = xs.Deserialize(fs) as 被序列化对象的类型;  //关闭文件流  fs.Close();

当然这里所提供的是序列化和反序列化的默认实现,能应付大多数运用。 特殊情况可以还需要重写序列化的默认实现。MSDN里面也有较详细的示例代码。

“.net中的二进制序列化和xml序列化分别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI