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; }

        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM