Freigeben über


XmlTypeAttribute-Klasse

Steuert das XML-Schema, das generiert wird, wenn das Attributziel vom XmlSerializer serialisiert wird.

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

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Enum Or AttributeTargets.Interface)> _
Public Class XmlTypeAttribute
    Inherits Attribute
'Usage
Dim instance As XmlTypeAttribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface)] 
public class XmlTypeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Enum|AttributeTargets::Interface)] 
public ref class XmlTypeAttribute : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface) */ 
public class XmlTypeAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Interface) 
public class XmlTypeAttribute extends Attribute

Hinweise

XmlTypeAttribute gehört zu einer Familie von Attributen, die das Serialisieren bzw. Deserialisieren eines Objekts durch XmlSerializer steuern. Eine vollständige Liste ähnlicher Attribute finden Sie unter Attribute für die Steuerung der XML-Serialisierung.

Das XmlTypeAttribute kann auf Deklarationen von Klassen, Strukturen, Enumerationen oder Schnittstellen angewendet werden.

XmlTypeAttribute wird auf eine Klasse angewendet, um den Namespace und Namen des XML-Typs anzugeben und festzulegen, ob der Typ in das XML-Schemadokument aufgenommen werden soll. Um nach dem Festlegen der Eigenschaften der XmlTypeAttribute-Klasse das Ergebnis anzuzeigen, kompilieren Sie die Anwendung als ausführbare Datei oder als DLL, und übergeben Sie die so entstandene Datei an XML Schema Definition-Tool (Xsd.exe). Das Tool erstellt das Schema einschließlich der Typdefinition.

Hinweis

Wenn Sie die IncludeInSchema-Eigenschaft auf false festlegen, fügt XML Schema Definition-Tool (Xsd.exe) den Typ nicht in das Schema ein. Standardmäßig generiert das XSD-Tool für jede öffentliche Klasse einen complexType und ein Element dieses Typs.

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

Hinweis

Sie können das Wort XmlType anstelle des längeren XmlTypeAttribute im Code verwenden.

Beispiel

Im folgenden Beispiel werden zwei Klassen dargestellt, auf die XmlTypeAttribute angewendet wurde.

<XmlType(Namespace := "http://www.cpandl.com", _
 TypeName := "GroupMember")> _
Public Class Person
    Public Name As String
End Class

<XmlType(Namespace := "http://www.cohowinery.com", _
 TypeName := "GroupAddress")> _ 
Public Class Address
    
    Public Line1 As String
    Public Line2 As String
    Public City As String
    Public State As String
    Public Zip As String
End Class

Public Class Group
    Public Staff() As Person
    Public Manager As Person
    Public Location As Address
End Class
[XmlType(Namespace = "http://www.cpandl.com",
TypeName = "GroupMember")]
public class Person
{
   public string Name;
}

[XmlType(Namespace = "http://www.cohowinery.com",
TypeName = "GroupAddress")]
public class Address
{
   public string Line1;
   public string Line2;
   public string City;
   public string State;
   public string Zip;
}

public class Group
{
   public Person[] Staff;
   public Person Manager;
   public Address Location;
}
[XmlType(Namespace="http://www.cpandl.com",
TypeName="GroupMember")]
public ref class Person
{
public:
   String^ Name;
};


[XmlType(Namespace="http://www.cohowinery.com",
TypeName="GroupAddress")]
public ref class Address
{
public:
   String^ Line1;
   String^ Line2;
   String^ City;
   String^ State;
   String^ Zip;
};

public ref class Group
{
public:
   array<Person^>^Staff;
   Person^ Manager;
   Address^ Location;
};
/** @attribute XmlType(Namespace = "http://www.cpandl.com",
    TypeName = "GroupMember")
 */
public class Person
{
    public String name;
} //Person

/** @attribute XmlType(Namespace = "http://www.cohowinery.com",
    TypeName = "GroupAddress")
 */
public class Address
{
    public String line1;
    public String line2;
    public String city;
    public String state;
    public String zip;
} //Address

public class Group
{
    public Person staff[];
    public Person manager;
    public Address location;
} //Group

Vererbungshierarchie

System.Object
   System.Attribute
    System.Xml.Serialization.XmlTypeAttribute

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

XmlTypeAttribute-Member
System.Xml.Serialization-Namespace
XmlAttributeOverrides-Klasse
XmlAttributes-Klasse
XmlSerializer-Klasse
XmlAttributes.XmlText-Eigenschaft
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