Freigeben über


XmlIgnoreAttribute-Klasse

Weist die Serialize-Methode von XmlSerializer an, den Eigenschaftenwert des öffentlichen Felds oder des öffentlichen Lese-/Schreibzugriffs nicht zu serialisieren.

Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Parameter Or AttributeTargets.ReturnValue)> _
Public Class XmlIgnoreAttribute
    Inherits Attribute
'Usage
Dim instance As XmlIgnoreAttribute
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue)] 
public class XmlIgnoreAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Property|AttributeTargets::Field|AttributeTargets::Parameter|AttributeTargets::ReturnValue)] 
public ref class XmlIgnoreAttribute : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue) */ 
public class XmlIgnoreAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue) 
public class XmlIgnoreAttribute extends Attribute

Hinweise

XmlIgnoreAttribute gehört zu einer Familie von Attributen, die das Serialisieren bzw. Deserialisieren eines Objekts durch XmlSerializer steuern. Wenn Sie XmlIgnoreAttribute auf einen beliebigen Member einer Klasse anwenden, ignoriert XmlSerializer diesen Member beim Serialisieren bzw. Deserialisieren einer Instanz der Klasse. Eine vollständige Liste ähnlicher Attribute finden Sie unter Attribute für die Steuerung der XML-Serialisierung.

Sie können das von XmlIgnoreAttribute verursachte Verhalten überschreiben, indem Sie ein XmlAttributes-Objekt erstellen und dessen XmlIgnore-Eigenschaft auf false festlegen. Mithilfe von Add müssen Sie das XmlAttributes-Objekt einer Instanz der XmlAttributeOverrides-Klasse hinzufügen. Vor dem Aufruf der Serialize-Methode oder der Deserialize-Methode müssen Sie dann eine Instanz der XmlSerializer-Klasse mithilfe des XmlAttributeOverrides-Objekts erstellen.

In manchen Fällen generiert XML Schema Definition-Tool (Xsd.exe) das XmlIgnoreAttribute beim Erstellen von Klassen aus einer Schemadatei (.xsd). Dieses Verhalten tritt auf, weil Werttypen nicht auf NULL (Nothing in Visual Basic) festgelegt werden können, während dies bei allen XML-Datentypen möglich ist. Das Tool erstellt daher zwei Felder, wenn es einen XML-Typ antrifft, der einem Werttyp zugeordnet ist: eines, das den Wert enthält, und ein weiteres, besonderes Feld der Form fieldnameSpecified. Für fieldname wird dabei der Name des Felds oder der Eigenschaft eingetragen. Beachten Sie jedoch, dass dieses spezifische Feld nur generiert wird, wenn das Schema angibt, dass das Element nicht auftreten muss (minOccurs = "0") und das Element keinen Standardwert besitzt. XmlSerializer legt dieses Sonderfeld fest und überprüft dieses, um zu bestimmen, ob für dieses Feld oder diese Eigenschaft ein Wert festgelegt wurde. Da dieses Sonderfeld nicht serialisiert werden darf, wendet das Tool XmlIgnoreAttribute auf es an.

Weitere Informationen über das Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

Hinweis

Sie können das Wort XmlIgnore anstelle des längeren XmlIgnoreAttribute im Code verwenden.

Beispiel

Im folgenden Beispiel enthält die Klasse Group das Feld Comment. Im Beispiel wird dem Feld das XmlIgnoreAttribute zugewiesen und XmlSerializer somit angewiesen, das Feld beim Serialisieren bzw. Deserialisieren einer Instanz der Klasse zu ignorieren.

Public Class Group
    ' the XmlSerializer ignores this field.
    <XmlIgnore()> Public Comment As String
    
    ' The XmlSerializer serializes this field.
    Public GroupName As String
End Class
public class Group
{
   // The XmlSerializer ignores this field.
   [XmlIgnore]
   public string Comment;

   // The XmlSerializer serializes this field.
   public string GroupName;
}
   
public ref class Group
{
public:

   // The XmlSerializer ignores this field.

   [XmlIgnore]
   String^ Comment;

   // The XmlSerializer serializes this field.
   String^ GroupName;
};
public class Group
{
    // The XmlSerializer ignores this field.
    /** @attribute XmlIgnore()
     */
    public String comment;
    // The XmlSerializer serializes this field.
    public String groupName;
} //Group

Vererbungshierarchie

System.Object
   System.Attribute
    System.Xml.Serialization.XmlIgnoreAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlIgnoreAttribute-Member
System.Xml.Serialization-Namespace
XmlAttributeOverrides-Klasse
XmlAttributes-Klasse
XmlAttributes.XmlIgnore-Eigenschaft
XmlSerializer
XmlAttributes-Klasse

Weitere Ressourcen

Einführung in die XML-Serialisierung
Gewusst wie: Angeben eines alternativen Elementnamens für einen XML-Stream
Steuern der XML-Serialisierung mit Attributen
Beispiele für die XML-Serialisierung
XML Schema Definition-Tool (Xsd.exe)