控制 XML 序列化的屬性
您可將下表中的屬性套用至類別和類別成員,藉此控制 XmlSerializer 序列化或還原序列化類別執行個體的方式。若要瞭解這些屬性如何控制 XML 序列化,請參閱使用屬性控制 XML 序列化。
您也可使用這些屬性來控制由 XML Web Service 產生的常值樣式 SOAP 訊息。如需將這些屬性套用至 XML Web Service 方法的詳細資訊,請參閱 XML Web Service 的 XML 序列化。
如需屬性的詳細資訊,請參閱使用屬性 (Attribute) 擴充中繼資料。
屬性 | 適用於 | 指定 |
---|---|---|
XmlAnyAttributeAttribute | 傳回 XmlAttribute 物件陣列的公用欄位、屬性、參數或傳回值。 | 當還原序列化時,陣列中會填滿 XmlAttribute 物件,這些物件表示結構描述無法辨識的所有 XML 屬性。 |
XmlAnyElementAttribute | 傳回 XmlElement 物件陣列的公用欄位、屬性、參數或傳回值。 | 當還原序列化時,陣列中會填滿 XmlElement 物件,這些物件表示結構描述無法辨識的所有 XML 項目。 |
XmlArrayAttribute | 傳回複雜物件陣列的公用欄位、屬性、參數或傳回值。 | 陣列的成員會以 XML 陣列成員的形式產生出來。 |
XmlArrayItemAttribute | 傳回複雜物件陣列的公用欄位、屬性、參數或傳回值。 | 可插入陣列的衍生型別。通常配合 XmlArrayAttribute 一起套用。 |
XmlAttributeAttribute | 公用欄位、屬性、參數或傳回值。 | 將成員序列化為 XML 屬性。 |
XmlChoiceIdentifierAttribute | 公用欄位、屬性、參數或傳回值。 | 可使用列舉型別 (Enumeration) 來進一步釐清成員。 |
XmlElementAttribute | 公用欄位、屬性、參數或傳回值。 | 欄位或屬性會序列化為 XML 項目。 |
XmlEnumAttribute | 本身為列舉識別項的公用欄位。 | 列舉成員的項目名稱。 |
XmlIgnoreAttribute | 公用屬性和欄位。 | 當序列化包含類別時,應忽略屬性或欄位。 |
XmlIncludeAttribute | 公用衍生類別宣告和公用方法 (供 Web 服務描述語言 (WSDL) 文件使用) 的傳回值。 | 當產生結構描述時,應包含類別 (以便在序列化時辨識出來)。 |
XmlRootAttribute | 公用類別宣告。 | 將屬性目標的 XML 序列化控制成 XML 根項目 (Root Element)。使用屬性來進一步指定命名空間和項目名稱。 |
XmlTextAttribute | 公用屬性和欄位。 | 應將屬性或欄位序列化為 XML 文字。 |
XmlTypeAttribute | 公用類別宣告。 | XML 型別的名稱和命名空間。 |
除了這些在 System.Xml.Serialization 命名空間中找到的屬性外,您也可將 System.ComponentModel.DefaultValueAttribute 屬性套用至欄位。如果未指定值,DefaultValueAttribute 會設定將自動被指派給成員的值。
若要控制編碼 SOAP XML 序列化,請參閱控制編碼 SOAP 序列化的屬性。
請參閱
XML 和 SOAP 序列化 | XmlSerializer | 使用屬性控制 XML 序列化 | 覆寫 XML 序列化