Freigeben über


XmlAttributeAttribute Klasse

Definition

Gibt an, dass der XmlSerializer das Klassenelement als XML-Attribut serialisieren muss.

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
Vererbung
XmlAttributeAttribute
Attribute

Beispiele

Im folgenden Beispiel wird eine Klasse serialisiert, die mehrere Felder enthält, auf die die XmlAttributeAttribute Klasse angewendet wird.

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

Hinweise

Dies XmlAttributeAttribute gehört zu einer Familie von Attributen, die steuern, wie die XmlSerializer Serialisierung oder Deserialisierung eines Objekts gesteuert wird. Eine vollständige Liste ähnlicher Attribute finden Sie unter Attributes That Control XML Serialization.

Wenn sie auf ein öffentliches Feld oder eine öffentliche Eigenschaft angewendet wird, wird das XmlAttributeAttributeXmlSerializer Element als XML-Attribut serialisiert. XmlSerializer Standardmäßig werden öffentliche Felder und Eigenschaften als XML-Elemente serialisiert.

Sie können öffentliche XmlAttributeAttribute Felder oder öffentliche Eigenschaften nur zuweisen, die einen Wert (oder ein Array von Werten) zurückgeben, die einem der einfachen XSD-Typen (XML Schema Definition Language) zugeordnet werden können (einschließlich aller integrierten Datentypen, die vom XSD-Typ anySimpleType abgeleitet sind). Zu den möglichen Typen gehören alle, die den einfachen XSD-Typen zugeordnet werden können, einschließlich Guid, und CharEnumerationen. Eine Liste der XSD-Typen und deren Zuordnung to.NET Datentypen finden Sie in der DataType Eigenschaft.

Es gibt zwei spezielle Attribute, die mit den XmlAttributeAttribute Attributen festgelegt werden können: die xml:lang (gibt Sprache an) und xml:space (gibt an, wie Leerraumattribute behandelt werden sollen). Diese Attribute sollen Informationen vermitteln, die nur für eine Anwendung relevant sind, die den XML-Code verarbeitet. Beispiele für das Festlegen dieser Einstellungen sind im folgenden Code dargestellt.

[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

Weitere Informationen zur Verwendung von Attributen finden Sie unter "Attribute".

Hinweis

Sie können das Wort XmlAttribute in Ihrem Code anstelle der längeren XmlAttributeAttributeVerwenden.

Konstruktoren

Name Beschreibung
XmlAttributeAttribute()

Initialisiert eine neue Instanz der XmlAttributeAttribute-Klasse.

XmlAttributeAttribute(String, Type)

Initialisiert eine neue Instanz der XmlAttributeAttribute-Klasse.

XmlAttributeAttribute(String)

Initialisiert eine neue Instanz der XmlAttributeAttribute Klasse und gibt den Namen des generierten XML-Attributs an.

XmlAttributeAttribute(Type)

Initialisiert eine neue Instanz der XmlAttributeAttribute-Klasse.

Eigenschaften

Name Beschreibung
AttributeName

Dient zum Abrufen oder Festlegen des Namens des XML-Attributs.

DataType

Dient zum Abrufen oder Festlegen des XSD-Datentyps des XML-Attributs, das von der XmlSerializer.

Form

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der von der XmlSerializer Zeichenfolge generierte XML-Attributname qualifiziert ist.

Namespace

Ruft den XML-Namespace des XML-Attributs ab oder legt diesen fest.

Type

Dient zum Abrufen oder Festlegen des komplexen Typs des XML-Attributs.

TypeId

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)

Methoden

Name Beschreibung
Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für: