XML シリアル化を制御する属性
次の表に示す属性をクラスおよびクラス メンバーに適用すると、XmlSerializer がそのクラスのインスタンスをシリアル化または逆シリアル化する方法を制御できます。 これらの属性で XML シリアル化を制御する方法については、「属性を使用した XML シリアル化の制御」を参照してください。
また、これらの属性を使用して、XML Web サービスによって生成されるリテラル スタイルの SOAP メッセージを制御することもできます。 これらの属性を XML Web サービス メソッドに適用する方法の詳細については、「XML Web サービスを使用した XML シリアル化」を参照してください。
属性の詳細については、「属性を使用したメタデータの拡張」を参照してください。
属性 |
対象 |
指定内容 |
---|---|---|
XmlAttribute オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
逆シリアル化時に、スキーマで未定義のすべての XML 属性を表す XmlAttribute オブジェクトを配列に挿入します。 |
|
XmlElement オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
逆シリアル化時に、スキーマで未定義のすべての XML 要素を表す XmlElement オブジェクトを配列に挿入します。 |
|
複合オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
配列のメンバーを XML 配列のメンバーとして生成します。 |
|
複合オブジェクトの配列を返すパブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
配列に挿入できる派生型を指定します。 通常、XmlArrayAttribute と共に適用されます。 |
|
パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
メンバーを XML 属性としてシリアル化します。 |
|
パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
列挙体を使用して、メンバーを明確に区別できるようにします。 |
|
パブリック フィールド、パブリック プロパティ、パブリック パラメーター、または戻り値 |
フィールドまたはプロパティを XML 要素としてシリアル化します。 |
|
列挙体識別子であるパブリック フィールド |
列挙体のメンバーの要素名を指定します。 |
|
パブリック プロパティとパブリック フィールド |
クラスのシリアル化時に、そのクラスに含まれているプロパティまたはフィールドを無視します。 |
|
パブリック派生クラス宣言、およびパブリック メソッドの戻り値 (Web サービス記述言語 (WSDL: Web Service Description Language) ドキュメント用) |
シリアル化されたときにクラスが認識されるように、スキーマの生成時にそのクラスを対象に含めます。 |
|
パブリック クラス宣言 |
属性ターゲットを XML ルート要素として XML シリアル化する方法を制御します。 この属性を使用して、さらに名前空間と要素名を指定できます。 |
|
パブリック プロパティとパブリック フィールド |
プロパティまたはフィールドを XML テキストとしてシリアル化します。 |
|
パブリック クラス宣言 |
XML 型の名前および名前空間を指定します。 |
System.Xml.Serialization 名前空間にあるこれらの属性の他に、System.ComponentModel.DefaultValueAttribute 属性もフィールドに適用できます。 DefaultValueAttribute は、メンバーの値が指定されていない場合に、メンバーに自動的に割り当てられる値を設定します。
エンコード済みの SOAP XML シリアル化を制御する方法については、「エンコード済み SOAP シリアル化を制御する属性」を参照してください。