Classe XmlIgnoreAttribute (System.Xml.Serialization)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe XmlIgnoreAttribute

Fa in modo che il metodo Serialize di XmlSerializer non serializzi il campo pubblico o il valore pubblico della proprietà in lettura/scrittura.

Spazio dei nomi: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)

Sintassi

Visual Basic - (Dichiarazione)
<AttributeUsageAttribute(AttributeTargets.Property Or AttributeTargets.Field Or AttributeTargets.Parameter Or AttributeTargets.ReturnValue)> _
Public Class XmlIgnoreAttribute
	Inherits Attribute
Visual Basic (Utilizzo)
Dim instance As XmlIgnoreAttribute

C#
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue)] 
public class XmlIgnoreAttribute : Attribute
C++
[AttributeUsageAttribute(AttributeTargets::Property|AttributeTargets::Field|AttributeTargets::Parameter|AttributeTargets::ReturnValue)] 
public ref class XmlIgnoreAttribute : public Attribute
J#
/** @attribute AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue) */ 
public class XmlIgnoreAttribute extends Attribute
JScript
AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue) 
public class XmlIgnoreAttribute extends Attribute
Note

XmlIgnoreAttribute appartiene a una famiglia di attributi che controlla come XmlSerializer serializza o deserializza un oggetto. Se si applica XmlIgnoreAttribute a un qualsiasi membro di una classe, l'XmlSerializer ignora il membro quando serializza o deserializza un'istanza della classe. Per un elenco completo di attributi analoghi, vedere Attributi che controllano la serializzazione XML.

È possibile eseguire l'override del comportamento generato da XmlIgnoreAttribute creando un oggetto XmlAttributes e impostando la proprietà XmlIgnore su false. Utilizzare il metodo Add per aggiungere l'oggetto XmlAttributes a un'istanza della classe XmlAttributeOverrides. Infine, utilizzare l'oggetto XmlAttributeOverrides per creare un'istanza della classe XmlSerializer prima di chiamare il metodo Serialize o Deserialize.

Strumento di definizione di schemi XML (Xsd.exe) talvolta genera la classe XmlIgnoreAttribute quando crea classi da un file di schema (XSD). Questo comportamento si verifica poiché non è possibile impostare i tipi dei valori su riferimento null (Nothing in Visual Basic), mentre tutti i tipi di dati XML possono assumere tale valore. Di conseguenza, lo strumento crea due campi quando rileva un tipo XML associato a un tipo valore: uno contenente il valore e un altro campo speciale che assume la forma fieldnameSpecified, in cui fieldname viene sostituito dal nome del campo o della proprietà. Questo campo speciale viene tuttavia generato solo quando lo schema specifica che l'elemento non dispone di occorrenze minime (minOccurs = "0") e che non è dotato di valori predefiniti. XmlSerializer imposta e controlla questo campo speciale per determinare se è stato impostato un valore per il campo o la proprietà. Poiché il campo speciale non deve essere serializzato, lo strumento vi applica XmlIgnoreAttribute.

Per ulteriori informazioni sull'utilizzo degli attributi, vedere Estensione di metadati mediante attributi.

NotaNota

Nel codice è possibile utilizzare la parola XmlIgnore anziché la forma più estesa XmlIgnoreAttribute.

Esempio

Il seguente esempio mostra una classe di nome Group, che contiene un campo di nome Comment. L'esempio assegna XmlIgnoreAttribute al campo, facendo in modo che XmlSerializer ignori il campo durante la serializzazione o la deserializzazione di un'istanza della classe.

Visual Basic
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 ref class Group
{
public:

   // The XmlSerializer ignores this field.

   [XmlIgnore]
   String^ Comment;

   // The XmlSerializer serializes this field.
   String^ GroupName;
};


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

Gerarchia di ereditarietà

System.Object
   System.Attribute
    System.Xml.Serialization.XmlIgnoreAttribute
Codice thread safe

I membri statici pubblici (Shared in Visual Basic) di questo tipo sono validi per le operazioni multithreading. I membri di istanza non sono garantiti come thread safe.
Piattaforme

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

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

Informazioni sulla versione

.NET Framework

Supportato in: 2.0 1.1 1.0

.NET Compact Framework

Supportato in: 2.0 1.0
Vedere anche