XML シリアル化を制御する属性

次の表に示す属性をクラスおよびクラス メンバーに適用すると、XmlSerializer がそのクラスのインスタンスをシリアル化または逆シリアル化する方法を制御できます。 これらの属性で XML シリアル化を制御する方法については、「属性を使用した XML シリアル化の制御」を参照してください。

また、これらの属性を使用して、XML Web サービスによって生成されるリテラル スタイルの SOAP メッセージを制御することもできます。 これらの属性を XML Web サービス メソッドに適用する方法の詳細については、「XML Web サービスを使用した XML シリアル化」を参照してください。

属性の詳細については、「属性」を参照してください。

属性 対象 指定内容
XmlAnyAttributeAttribute XmlAttribute オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 逆シリアル化時に、スキーマで未定義のすべての XML 属性を表す XmlAttribute オブジェクトを配列に挿入します。
XmlAnyElementAttribute XmlElement オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 逆シリアル化時に、スキーマで未定義のすべての XML 要素を表す XmlElement オブジェクトを配列に挿入します。
XmlArrayAttribute 複合オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 配列のメンバーを XML 配列のメンバーとして生成します。
XmlArrayItemAttribute 複合オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 配列に挿入できる派生型を指定します。 通常、XmlArrayAttribute と共に適用されます。
XmlAttributeAttribute パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 メンバーを XML 属性としてシリアル化します。
XmlChoiceIdentifierAttribute パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 列挙体を使用して、メンバーを明確に区別できるようにします。
XmlElementAttribute パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 フィールドまたはプロパティを XML 要素としてシリアル化します。
XmlEnumAttribute 列挙体識別子であるパブリック フィールド 列挙体のメンバーの要素名を指定します。
XmlIgnoreAttribute パブリック プロパティとパブリック フィールド クラスのシリアル化時に、そのクラスに含まれているプロパティまたはフィールドを無視します。
XmlIncludeAttribute パブリック派生クラス宣言、およびパブリック メソッドの戻り値 (Web サービス記述言語 (WSDL: Web Service Description Language) ドキュメント用) シリアル化されたときにクラスが認識されるように、スキーマの生成時にそのクラスを対象に含めます。
XmlRootAttribute パブリック クラス宣言 属性ターゲットを XML ルート要素として XML シリアル化する方法を制御します。 この属性を使用して、さらに名前空間と要素名を指定できます。
XmlTextAttribute パブリック プロパティとパブリック フィールド プロパティまたはフィールドを XML テキストとしてシリアル化します。
XmlTypeAttribute パブリック クラス宣言 XML 型の名前および名前空間を指定します。
ObsoleteAttribute パブリック プロパティとパブリック フィールド クラスのシリアル化時に、そのクラスに含まれているプロパティまたはフィールドは無視されます。

System.Xml.Serialization 名前空間にあるこれらの属性の他に、DefaultValueAttribute 属性もフィールドに適用できます。 DefaultValueAttribute は、メンバーの値が指定されていない場合に、メンバーに自動的に割り当てられる値を設定します。

エンコード済みの SOAP XML シリアル化を制御する場合は、「Attributes That Control Encoded SOAP Serialization」(エンコード済み SOAP シリアル化を制御する属性) を参照してください。

関連項目