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