Freigeben über


XmlTypeAttribute-Konstruktor ()

Initialisiert eine neue Instanz der XmlTypeAttribute-Klasse.

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

Syntax

'Declaration
Public Sub New
'Usage
Dim instance As New XmlTypeAttribute
public XmlTypeAttribute ()
public:
XmlTypeAttribute ()
public XmlTypeAttribute ()
public function XmlTypeAttribute ()

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