Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Initialisiert eine neue Instanz der XmlTypeAttribute-Klasse und gibt den Namen des XML-Typs an.
Namespace: System.Xml.Serialization
Assembly: System.Xml (in system.xml.dll)
Syntax
'Declaration
Public Sub New ( _
typeName As String _
)
'Usage
Dim typeName As String
Dim instance As New XmlTypeAttribute(typeName)
public XmlTypeAttribute (
string typeName
)
public:
XmlTypeAttribute (
String^ typeName
)
public XmlTypeAttribute (
String typeName
)
public function XmlTypeAttribute (
typeName : String
)
Parameter
- typeName
Der Name des XML-Typs, der vom XmlSerializer beim Serialisieren einer Klasseninstanz generiert bzw. beim Deserialisieren der Klasseninstanz erkannt wird.
Hinweise
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.
Beispiel
Im folgenden Beispiel werden zwei Instanzen der XmlTypeAttribute-Klasse erstellt, die zum Überschreiben der Serialisierung der beiden Klassen verwendet wird.
Imports System
Imports System.IO
Imports System.Xml.Serialization
Public Class Person
Public personName As String
Public address As Address
End Class
Public Class Address
Public state As String
Public zip As String
End Class
Public Class PersonTypeAttribute
Public Shared Sub Main()
Dim myPersonTypeAttribute As New PersonTypeAttribute()
myPersonTypeAttribute.SerializeObject("XmlType.xml")
End Sub
Public Function CreateOverrider() As XmlSerializer
Dim personOverride As New XmlAttributeOverrides()
Dim personAttributes As New XmlAttributes()
Dim personType As New XmlTypeAttribute()
personType.TypeName = "Employee"
personType.Namespace = "https://www.microsoft.com"
personAttributes.XmlType = personType
Dim addressAttributes As New XmlAttributes()
' Create 'XmlTypeAttribute' with 'TypeName' as an argument.
Dim addressType As New XmlTypeAttribute("Address")
addressType.Namespace = "https://www.microsoft.com"
addressAttributes.XmlType = addressType
personOverride.Add(GetType(Person), personAttributes)
personOverride.Add(GetType(Address), addressAttributes)
Dim myXmlSerializer As New XmlSerializer(GetType(Person), personOverride)
Return myXmlSerializer
End Function
Public Sub SerializeObject(filename As String)
Dim myXmlSerializer As XmlSerializer = CreateOverrider()
Dim myAddress As New Address()
myAddress.state = "AAA"
myAddress.zip = "11111"
Dim myPerson As New Person()
myPerson.personName = "Smith"
myPerson.address = myAddress
' Serialize to a file.
Dim writer = New StreamWriter(filename)
myXmlSerializer.Serialize(writer, myPerson)
End Sub
End Class
using System;
using System.IO;
using System.Xml.Serialization;
public class Person
{
public string personName;
public Address address;
}
public class Address
{
public string state;
public string zip;
}
public class PersonTypeAttribute
{
public static void Main()
{
PersonTypeAttribute myPersonTypeAttribute= new PersonTypeAttribute();
myPersonTypeAttribute.SerializeObject("XmlType.xml");
}
public XmlSerializer CreateOverrider()
{
XmlAttributeOverrides personOverride = new XmlAttributeOverrides();
XmlAttributes personAttributes = new XmlAttributes();
XmlTypeAttribute personType = new XmlTypeAttribute();
personType.TypeName = "Employee";
personType.Namespace = "https://www.microsoft.com";
personAttributes.XmlType = personType;
XmlAttributes addressAttributes = new XmlAttributes();
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
addressType.Namespace = "https://www.microsoft.com";
addressAttributes.XmlType=addressType;
personOverride.Add(typeof(Person) ,personAttributes);
personOverride.Add(typeof(Address),addressAttributes);
XmlSerializer myXmlSerializer = new XmlSerializer
(typeof(Person), personOverride);
return myXmlSerializer;
}
public void SerializeObject(string filename)
{
XmlSerializer myXmlSerializer = CreateOverrider();
Address myAddress = new Address();
myAddress.state="AAA";
myAddress.zip="11111";
Person myPerson = new Person();
myPerson.personName="Smith";
myPerson.address=myAddress;
// Serialize to a file.
TextWriter writer = new StreamWriter(filename);
myXmlSerializer.Serialize(writer, myPerson);
}
}
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
public ref class Address
{
public:
String^ state;
String^ zip;
};
public ref class Person
{
public:
String^ personName;
Address^ address;
};
public ref class PersonTypeAttribute
{
public:
XmlSerializer^ CreateOverrider()
{
XmlAttributeOverrides^ personOverride = gcnew XmlAttributeOverrides;
XmlAttributes^ personAttributes = gcnew XmlAttributes;
XmlTypeAttribute^ personType = gcnew XmlTypeAttribute;
personType->TypeName = "Employee";
personType->Namespace = "https://www.microsoft.com";
personAttributes->XmlType = personType;
XmlAttributes^ addressAttributes = gcnew XmlAttributes;
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute^ addressType = gcnew XmlTypeAttribute( "Address" );
addressType->Namespace = "https://www.microsoft.com";
addressAttributes->XmlType = addressType;
personOverride->Add( Person::typeid, personAttributes );
personOverride->Add( Address::typeid, addressAttributes );
XmlSerializer^ myXmlSerializer = gcnew XmlSerializer( Person::typeid,personOverride );
return myXmlSerializer;
}
void SerializeObject( String^ filename )
{
XmlSerializer^ myXmlSerializer = CreateOverrider();
Address^ myAddress = gcnew Address;
myAddress->state = "AAA";
myAddress->zip = "11111";
Person^ myPerson = gcnew Person;
myPerson->personName = "Smith";
myPerson->address = myAddress;
// Serialize to a file.
TextWriter^ writer = gcnew StreamWriter( filename );
myXmlSerializer->Serialize( writer, myPerson );
}
};
int main()
{
PersonTypeAttribute^ myPersonTypeAttribute = gcnew PersonTypeAttribute;
myPersonTypeAttribute->SerializeObject( "XmlType.xml" );
}
import System.*;
import System.IO.*;
import System.Xml.Serialization.*;
public class Person
{
public String personName;
public Address address;
} //Person
public class Address
{
public String state;
public String zip;
} //Address
public class PersonTypeAttribute
{
public static void main(String[] args)
{
PersonTypeAttribute myPersonTypeAttribute = new PersonTypeAttribute();
myPersonTypeAttribute.SerializeObject("XmlType.xml");
} //main
public XmlSerializer CreateOverrider()
{
XmlAttributeOverrides personOverride = new XmlAttributeOverrides();
XmlAttributes personAttributes = new XmlAttributes();
XmlTypeAttribute personType = new XmlTypeAttribute();
personType.set_TypeName("Employee");
personType.set_Namespace("https://www.microsoft.com");
personAttributes.set_XmlType(personType);
XmlAttributes addressAttributes = new XmlAttributes();
// Create 'XmlTypeAttribute' with 'TypeName' as an argument.
XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
addressType.set_Namespace("https://www.microsoft.com");
addressAttributes.set_XmlType(addressType);
personOverride.Add(Person.class.ToType(), personAttributes);
personOverride.Add(Address.class.ToType(), addressAttributes);
XmlSerializer myXmlSerializer = new XmlSerializer(Person.class.ToType(),
personOverride);
return myXmlSerializer;
} //CreateOverrider
public void SerializeObject(String fileName)
{
XmlSerializer myXmlSerializer = CreateOverrider();
Address myAddress = new Address();
myAddress.state = "AAA";
myAddress.zip = "11111";
Person myPerson = new Person();
myPerson.personName = "Smith";
myPerson.address = myAddress;
// Serialize to a file.
TextWriter writer = new StreamWriter(fileName);
myXmlSerializer.Serialize(writer, myPerson);
} //SerializeObject
} //PersonTypeAttribute
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-Klasse
XmlTypeAttribute-Member
System.Xml.Serialization-Namespace