C# Model 与 XML 之间转换 特性的使用

C# Model 与 XML 之间转换 特性的使用

   .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序列化时不会序列化该特性指定的元素。

 

实例1:

[XmlRoot("主节点")]

Class 类名

 

实例2:

 [XmlAttribute(AttributeName = "父节点 内字段名")]

public string 字段名{get;set;}

 

实例3:

   [XmlElement(ElementName="worker")]

        public Worker[] Workers

        {

            get { return m_workers; }

            set { m_workers = value; }

        }

 

posted @ 2020-12-30 11:20  SunKeep  阅读(777)  评论(0编辑  收藏  举报