XmlIgnoreAttribute クラス
XmlSerializer の Serialize メソッドに対して、パブリック フィールドまたはパブリックな読み書き可能プロパティの値をシリアル化しないように指示します。
この型のすべてのメンバの一覧については、XmlIgnoreAttribute メンバ を参照してください。
System.Object
System.Attribute
System.Xml.Serialization.XmlIgnoreAttribute
<AttributeUsage(AttributeTargets.Property Or AttributeTargets.Field _
Or AttributeTargets.Parameter Or AttributeTargets.ReturnValue)>
Public Class XmlIgnoreAttribute Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field
| AttributeTargets.Parameter | AttributeTargets.ReturnValue)]
public class XmlIgnoreAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Property |
AttributeTargets::Field | AttributeTargets::Parameter |
AttributeTargets::ReturnValue)]
public __gc class XmlIgnoreAttribute : public Attribute
[JScript]
public
AttributeUsage(AttributeTargets.Property | AttributeTargets.Field |
AttributeTargets.Parameter | AttributeTargets.ReturnValue)
class XmlIgnoreAttribute extends Attribute
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
XmlIgnoreAttribute は、 XmlSerializer がオブジェクトをシリアル化または逆シリアル化する方法を制御する一連の属性のうちの 1 つです。 XmlIgnoreAttribute をクラスのメンバに適用すると、 XmlSerializer は、そのクラスのインスタンスをシリアル化または逆シリアル化するときに、このメンバを無視します。類似する属性の完全な一覧については、「 XML シリアル化を制御する属性 」を参照してください。
XmlIgnoreAttribute を適用したことによって生じる動作をオーバーライドするには、 XmlAttributes オブジェクトを作成し、 XmlIgnore プロパティを false に設定します。 Add メソッドを使用して、この XmlAttributes オブジェクトを XmlAttributeOverrides クラスのインスタンスに追加する必要があります。最後に、 XmlAttributeOverrides オブジェクトを使用して XmlSerializer クラスのインスタンスを構築してから Serialize メソッドまたは Deserialize メソッドを呼び出します。
XML スキーマ定義ツール (Xsd.exe) は、スキーマ ファイル (.xsd) からクラスを作成するときに XmlIgnoreAttribute を生成することがあります。この動作は、値型は null 参照 (Visual Basic では Nothing) に設定できないのに対して、すべての XML データ型は null に設定できるために発生します。したがって、このツールは、値型に割り当てられる XML 型を見つけた場合は 2 つのフィールドを作成します。1 つは値を保持するフィールドで、もう 1 つは fieldnameSpecified という名前の特別なフィールドです。 fieldname には、フィールドまたはプロパティの名前になります。ただし、この特別なフィールドが作成されるのは、スキーマに、出現する必要がない要素 (minOccurs = "0") や、既定値を持たない要素が指定されている場合だけです。 XmlSerializer は、この特別フィールドの設定およびチェックを行い、そのフィールドまたはプロパティに値が設定されているかどうかを判断します。特別フィールドはシリアル化できないため、特別フィールドには XmlIgnoreAttribute が適用されます。
属性の使用方法については、「 属性を使用したメタデータの拡張 」を参照してください。
メモ コードでは、 XmlIgnoreAttribute の代わりに XmlIgnore という短い語を使用できます。
使用例
[Visual Basic, C#, C++] Comment という名前のフィールドを含む Group という名前のクラスの例を次に示します。この例では、 XmlIgnoreAttribute をフィールドに割り当てることにより、このクラスのインスタンスをシリアル化または逆シリアル化するときに、そのフィールドを無視するように XmlSerializer に指示しています。
Public Class Group
' the XmlSerializer ignores this field.
<XmlIgnore()> Public Comment As String
' The XmlSerializer serializes this field.
Public GroupName As String
End Class
[C#]
public class Group
{
// The XmlSerializer ignores this field.
[XmlIgnore]
public string Comment;
// The XmlSerializer serializes this field.
public string GroupName;
}
[C++]
public __gc class Group
{
public:
// The XmlSerializer ignores this field.
[XmlIgnore]
String* Comment;
// The XmlSerializer serializes this field.
String* GroupName;
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Xml.Serialization
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System.Xml (System.Xml.dll 内)
参照
XmlIgnoreAttribute メンバ | System.Xml.Serialization 名前空間 | XmlAttributeOverrides | XmlAttributes | XmlIgnore | XmlSerializer | XML シリアル化の概要 | XML シリアル化のオーバーライド | XmlAttributes | 属性を使用した XML シリアル化の制御 | XML シリアル化の例