XmlAttributeAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica che il XmlSerializer deve serializzare il membro della classe come attributo XML.
public ref class XmlAttributeAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)]
public class XmlAttributeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)>]
type XmlAttributeAttribute = class
inherit Attribute
Public Class XmlAttributeAttribute
Inherits Attribute
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene serializzata una classe contenente diversi campi a cui viene applicato l'oggetto XmlAttributeAttribute .
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using System.Xml.Schema;
public class Group
{
[XmlAttribute (Namespace = "http://www.cpandl.com")]
public string GroupName;
[XmlAttribute(DataType = "base64Binary")]
public Byte [] GroupNumber;
[XmlAttribute(DataType = "date", AttributeName = "CreationDate")]
public DateTime Today;
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeObject("Attributes.xml");
}
public void SerializeObject(string filename)
{
// Create an instance of the XmlSerializer class.
XmlSerializer mySerializer =
new XmlSerializer(typeof(Group));
// Writing the file requires a TextWriter.
TextWriter writer = new StreamWriter(filename);
// Create an instance of the class that will be serialized.
Group myGroup = new Group();
// Set the object properties.
myGroup.GroupName = ".NET";
Byte [] hexByte = new Byte[2]{Convert.ToByte(100),
Convert.ToByte(50)};
myGroup.GroupNumber = hexByte;
DateTime myDate = new DateTime(2001,1,10);
myGroup.Today = myDate;
// Serialize the class, and close the TextWriter.
mySerializer.Serialize(writer, myGroup);
writer.Close();
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Imports System.Xml.Schema
Public Class Group
<XmlAttribute(Namespace := "http://www.cpandl.com")> _
Public GroupName As String
<XmlAttribute(DataType := "base64Binary")> _
Public GroupNumber() As Byte
<XmlAttribute(DataType := "date", AttributeName := "CreationDate")> _
Public Today As DateTime
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("Attributes.xml")
End Sub
Public Sub SerializeObject(ByVal filename As String)
' Create an instance of the XmlSerializer class.
Dim mySerializer As New XmlSerializer(GetType(Group))
' Writing the file requires a TextWriter.
Dim writer As New StreamWriter(filename)
' Create an instance of the class that will be serialized.
Dim myGroup As New Group()
' Set the object properties.
myGroup.GroupName = ".NET"
Dim hexByte() As Byte = {Convert.ToByte(100), Convert.ToByte(50)}
myGroup.GroupNumber = hexByte
Dim myDate As New DateTime(2001, 1, 10)
myGroup.Today = myDate
' Serialize the class, and close the TextWriter.
mySerializer.Serialize(writer, myGroup)
writer.Close()
End Sub
End Class
Commenti
Appartiene XmlAttributeAttribute a una famiglia di attributi che controlla la XmlSerializer modalità di serializzazione o deserializza un oggetto . Per un elenco completo di attributi simili, vedere Attributi che controllano la serializzazione XML.
Se applicato a un campo o a una proprietà pubblica, informa l'oggetto XmlAttributeAttributeXmlSerializer per serializzare il membro come attributo XML. Per impostazione predefinita, XmlSerializer serializza campi e proprietà pubblici come elementi XML.
È possibile assegnare l'unico XmlAttributeAttribute ai campi pubblici o alle proprietà pubbliche che restituiscono un valore (o matrice di valori) di cui è possibile eseguire il mapping a uno dei tipi semplici XSD (XML Schema Definition Language), inclusi tutti i tipi di dati predefiniti derivati dal tipo XSD anySimpleType . I tipi possibili includono qualsiasi elemento di cui è possibile eseguire il mapping ai tipi semplici XSD, incluse Guidle enumerazioni , Chare . Vedere la DataType proprietà per un elenco di tipi XSD e come vengono mappati to.NET tipi di dati.
Esistono due attributi speciali che possono essere impostati con : l'attributo xml:lang (specifica la XmlAttributeAttribute lingua) e xml:space (specifica come gestire gli spazi vuoti). Questi attributi sono destinati a trasmettere informazioni rilevanti solo per un'applicazione che elabora il codice XML. Esempi di impostazione sono illustrati nel codice seguente.
[XmlAttribute("xml:lang")]
public string Lang;
// Set this to 'default' or 'preserve'.
[XmlAttribute("space",
Namespace = "http://www.w3.org/XML/1998/namespace")]
public string Space
<XmlAttribute("xml:lang")> _
Public Lang As String
' Set this to 'default' or 'preserve'.
<XmlAttribute("space", _
Namespace:= "http://www.w3.org/XML/1998/namespace")> _
Public Space As String
Per altre informazioni sull'uso degli attributi, vedere Attributi.
Annotazioni
È possibile usare la parola XmlAttribute nel codice anziché quella più lunga XmlAttributeAttribute.
Costruttori
| Nome | Descrizione |
|---|---|
| XmlAttributeAttribute() |
Inizializza una nuova istanza della classe XmlAttributeAttribute. |
| XmlAttributeAttribute(String, Type) |
Inizializza una nuova istanza della classe XmlAttributeAttribute. |
| XmlAttributeAttribute(String) |
Inizializza una nuova istanza della XmlAttributeAttribute classe e specifica il nome dell'attributo XML generato. |
| XmlAttributeAttribute(Type) |
Inizializza una nuova istanza della classe XmlAttributeAttribute. |
Proprietà
| Nome | Descrizione |
|---|---|
| AttributeName |
Ottiene o imposta il nome dell'attributo XML. |
| DataType |
Ottiene o imposta il tipo di dati XSD dell'attributo XML generato da XmlSerializer. |
| Form |
Ottiene o imposta un valore che indica se il nome dell'attributo XML generato dall'oggetto XmlSerializer è qualificato. |
| Namespace |
Ottiene o imposta lo spazio dei nomi XML dell'attributo XML. |
| Type |
Ottiene o imposta il tipo complesso dell'attributo XML. |
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per questa istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
| Match(Object) |
Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |