现在的位置: 首页 > 移动开发 > 正文

.net序列化类库是什么?.net序列化类库有哪些类型

2020年06月01日 移动开发 ⁄ 共 2229字 ⁄ 字号 评论关闭

  序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了。下面学步园小编来讲解下.net序列化类库是什么?.net序列化类库有哪些类型?

  .net序列化类库是什么

  .NETFramework为处理XML数据提供了许多不同的类库。XmlDocument类能让你像处理文件一样处理xml数据,而XmlReader、XmlWriter和它们的派生类使你能够将xml数据作为数据流处理。

  XmlSerializer则提供了另外的方法,它使你能够将自己的对象串行化和反串行化为xml。串行化数据既能够让你像处理文件一样对数据进行随机处理,同时又能跳过你不感兴趣的数据。

  .net序列化类库有哪些类型

  .NET支持对象xml序列化和反序列化的类库主要位于命名空间System.Xml.Serialization中。

  1.XmlSerializer类

  该类用一种高度松散耦合的方式提供串行化服务。你的类不需要继承特别的基类,而且它们也不需要实现特别的接口。相反,你只需在你的类或者这些类的公共域以及读/写属性里加上自定义的特性。XmlSerializer通过反射机制读取这些特性并用它们将你的类和类成员映射到xml元素和属性。

  2.XmlAttributeAttribute类

  指定类的公共域或读/写属性对应xml文件的Attribute。

  例:[XmlAttribute(“type”)]or[XmlAttribute(AttributeName=”type”)]

  3.XmlElementAttribute类

  指定类的公共域或读/写属性对应xml文件的Element。

  例:[XmlElement(“Maufacturer”)]or[XmlElement(ElementName=”Manufacturer”)]

  4.XmlRootAttribute类

  Xml序列化时,由该特性指定的元素将被序列化成xml的根元素。

  例:[XmlRoot(“RootElement”)]or[XmlRoot(ElementName=“RootElements”)]

  5.XmlTextAttribute类

  Xml序列化时,由该特性指定的元素值将被序列化成xml元素的值。一个类只允许拥有一个该特性类的实例,因为xml元素只能有一个值。

  6.XmlIgnoreAttribute类

  Xml序列化时不会序列化该特性指定的元素。

  下面例子中的xmlschema描述了一个简单的人力资源信息,其中包含了xml的大部分格式,如xml元素相互嵌套,xml元素既有元素值,又有属性值。

  1.待序列化的类层次结构

  [csharp]

  [XmlRoot("humanResource")]

  publicclassHumanResource

  {

  #regionprivatedata.

  privateintm_record=0;

  privateWorker[]m_workers=null;

  #endregion

  [XmlAttribute(AttributeName="record")]

  publicintRecord

  {

  get{returnm_record;}

  set{m_record=value;}

  }

  [XmlElement(ElementName="worker")]

  publicWorker[]Workers

  {

  get{returnm_workers;}

  set{m_workers=value;}

  }

  }

  publicclassWorker

  {

  #regionprivatedata.

  privatestringm_number=null;

  privateInformationItem[]m_infoItems=null;

  #endregion

  [XmlAttribute("number")]

  publicstringNumber

  {

  get{returnm_number;}

  set{m_number=value;}

  }

  [XmlElement("infoItem")]

  publicInformationItem[]InfoItems

  {

  get{returnm_infoItems;}

  set{m_infoItems=value;}

  }

  }

  publicclassInformationItem

  {

  #regionprivatedata.

  privatestringm_name=null;

  privatestringm_value=null;

  #endregion

  [XmlAttribute(AttributeName="name")]

  publicstringName

  {

  get{returnm_name;}

  set{m_name=value;}

  }

  [XmlText]

  publicstringValue

  {

  get{returnm_value;}

  set{m_value=value;}

  }

  以上就是关于“.net序列化类库是什么?.net序列化类库有哪些类型”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.