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