Auf Englisch lesen

Freigeben über


XmlAttributeAttribute Klasse

Definition

Gibt an, dass XmlSerializer den Klassenmember als XML-Attribut serialisieren muss.

C#
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)]
public class XmlAttributeAttribute : Attribute
Vererbung
XmlAttributeAttribute
Attribute

Beispiele

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

C#
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();
   }
}

Hinweise

gehört XmlAttributeAttribute zu einer Familie von Attributen, die steuert, wie ein XmlSerializer Objekt serialisiert oder deserialisiert wird. Eine vollständige Liste ähnlicher Attribute finden Sie unter Attribute, die die XML-Serialisierung steuern.

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

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

Es gibt zwei spezielle Attribute, die mit XmlAttributeAttribute festgelegt werden können: die xml:lang Attribute (gibt die Sprache an) und xml:space (gibt an, wie Leerzeichen 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 Optionen werden im folgenden Code gezeigt.

C#
[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 

Weitere Informationen zur Verwendung von Attributen finden Sie unter Attribute.

Hinweis

Sie können das Wort XmlAttribute im Code anstelle des längeren XmlAttributeAttributeverwenden.

Konstruktoren

XmlAttributeAttribute()

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(String, Type)

Initialisiert eine neue Instanz der XmlAttributeAttribute-Klasse.

XmlAttributeAttribute(Type)

Initialisiert eine neue Instanz der XmlAttributeAttribute-Klasse.

Eigenschaften

AttributeName

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

DataType

Ruft den XSD-Datentyp des vom XmlSerializer generierten XML-Attributs ab oder legt diesen fest.

Form

Ruft einen Wert ab, der angibt, ob der von XmlSerializer generierte XML-Attributname gekennzeichnet ist, oder legt diesen fest.

Namespace

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

Type

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

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)

Methoden

Equals(Object)

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

(Geerbt von Attribute)
GetHashCode()

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

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_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 deren Hilfe 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)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0