C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况。

C# XmlSerializer是什么呢?它是使用二进制格式化程序进行序列化的一个类,那么具体的通过C# XmlSerializer如何实现序列化操作呢?在序列化操作的过程中需要注意些什么呢?

C# XmlSerializer的出处:

  1. using System.Xml.Serialization;

C# XmlSerializer实现序列化:

  1. XmlSerializer xml = new XmlSerializer(typeof(Test));
  2. FileStream fs = new FileStream(@"c:\t.xml",FileMode.Create);
  3. xml.Serialize(fs, t);
  4. fs.Close();

C# XmlSerializer实现反序列化

  1. FileStream fs = new FileStream(@"c:\t.xml", FileMode.Open);
  2. XmlSerializer xml = new XmlSerializer(typeof(Test));
  3. Test t = (Test)xml.Deserialize(fs);

C# XmlSerializer类与主流的序列化类的几个不同点是:

1、不需要Serializable属性,Serializable和NonSerializable属性将会被忽略,但是使用XmlIgnore属性,和NonSerializable属性类似。

2、该类不能安全地访问私有变成员,所以学要将私有成员改为公共成员,或者提供合适的公共特性。

3、要求被序列化的类要有一个默认的构造器。

C# XmlSerializer的使用基本情况就向你介绍到这里,希望对你了解和学习C# XmlSerializer类有所帮助,并且对序列化的操作有所认识。

转载自:http://developer.51cto.com/art/200909/150786.htm

C# XmlSerializer实现序列化浅析的更多相关文章

  1. C#中XmlSerializer实现序列化浅析

    C# XmlSerializer类是实现序列化的一个类,那么关于C# XmlSerializer的学习我们要掌握怎么样的操作方法呢?那么这里向你详细介绍具体的操作细节情况. C# XmlSeriali ...

  2. C# XmlSerializer序列化浅析

    C# 中使用 XmlSerializer 实现类和xml文件的序列化和反序列化,使用起来非常简单. C# XmlSerializer实现序列化: XmlSerializer xml = new Xml ...

  3. XmlSerializer .NET 序列化、反序列化

    序列化对象   要序列化对象,首先创建要序列化的对象并设置其公共属性和字段.为此,您必须确定要将XML流存储的传输格式,作为流或文件. 例如,如果XML流必须以永久形式保存,则创建一个FileStre ...

  4. JAVA序列化浅析

    java.io.Serializable浅析 Java API中java.io.Serializable接口源码: 1 public interface Serializable { 2 } 类通过实 ...

  5. hadoop2.2原理: 序列化浅析

    序列化是指将一个对象编码成字节流,之后从字节流中重构对象: 为什么需要序列化? 答:用序列化接口可以将对象实例从存储到本地文件或者传送到网络的另一端的节点上: 序列化过程: 序列化的三种主要用途: 1 ...

  6. XmlSerializer 实现序列化CDATA

    [XmlIgnore] public string GuestRemarks { get; set; } [XmlElement("GuestRemarks")] public X ...

  7. 使用XmlSerializer序列化可空属性

    使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互.但是XmlSerializer却不能很好地序列化类型中的可空字段. 例如,有如下定义的类Person: [Seri ...

  8. 序列化和反序列化的几种方式(JavaScriptSerializer 、XmlSerializer、DataContractSerializer)(一)

    JavaScriptSerializer 类 为启用 AJAX 的应用程序提供序列化和反序列化功能. 命名空间:   System.Web.Script.Serialization 程序集:  Sys ...

  9. C# XML反序列化与序列化举例:XmlSerializer(转)

    using System; using System.IO; using System.Xml.Serialization; namespace XStream { /// <summary&g ...

随机推荐

  1. MRP运算生成采购单时间的逻辑

    由MRP运算产生的采购单日期,由生产单指定的安排计划日期.公司设置里的采购提前期和隐藏的供应商供货提前期三个字段共同决定. 可以很容易的在系统中找到,供应商供货提前期,需要在产品视图中将字段selle ...

  2. ArcGIS AddIN开发异常之--“ValidateAddInXMLTask”任务意外失败

     ArcGIS AddIN开发时,产生如下异常错误 2 “ValidateAddInXMLTask”任务意外失败.System.NullReferenceException: 未将对象引用设置到对象的 ...

  3. Rocky4.2下安装达梦(DM)6数据库

    1.准备操作系统 1.1 系统登录界面 1.2 操作系统版本信息 jdbh:~ # uname -ra Linux jdbh -x86_64 # SMP Fri Dec :: CST x86_64 G ...

  4. 2016HUAS暑假集训训练2 K - Hero

    题目链接:http://acm.hust.edu.cn/vjudge/contest/121192#problem/K 这也是一道贪心题,刚开始写时以为只要对每一敌人的攻击和血的乘积进行从小到大排序即 ...

  5. zju(11)在IAR中移植ucos到msp430

    准备材料 1.在TI官网上下载430的固件库,我用的是msp430f5528的板子,下载的是F5xx_F6xx_Core_Lib 地址http://www.ti.com/tool/msp-exp430 ...

  6. java.io包中的字节流—— FilterInputStream和FilterOutputStream

    接着上篇文章,本篇继续说java.io包中的字节流.按照前篇文章所说,java.io包中的字节流中的类关系有用到GoF<设计模式>中的装饰者模式,而这正体现在FilterInputStre ...

  7. php课程---练习(联系人信息表)

    做一个联系人表,实现增删改功能 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  8. mesos+marathon+zookeeper的docker管理集群亲手搭建实例(环境Centos6.8)

    资源:3台centos6.8虚拟机 4cpu 8G内存 ip 10.19.54.111-113 1台centos6.8虚拟机2cpu 8G ip 10.19.53.55 1.System Requir ...

  9. Jmeter工作原理

  10. luagd介绍

    luagd 官网: http://ittner.github.io/lua-gd/ 下载 http://files.luaforge.net/releases/lua-gd/lua-gd/lua-gd ...