XmlTypeAttribute Конструкторы

Определение

Инициализация нового экземпляра класса XmlTypeAttribute.Initializes a new instance of the XmlTypeAttribute class.

Перегрузки

XmlTypeAttribute()

Инициализация нового экземпляра класса XmlTypeAttribute.Initializes a new instance of the XmlTypeAttribute class.

XmlTypeAttribute(String)

Инициализирует новый экземпляр класса XmlTypeAttribute и задает имя типа XML.Initializes a new instance of the XmlTypeAttribute class and specifies the name of the XML type.

XmlTypeAttribute()

Инициализация нового экземпляра класса XmlTypeAttribute.Initializes a new instance of the XmlTypeAttribute class.

public:
 XmlTypeAttribute();
public XmlTypeAttribute ();
Public Sub New ()

Примеры

В следующем примере создаются два экземпляра класса XmlTypeAttribute, которые используются для переопределения сериализации двух классов.The following example creates two instances of the XmlTypeAttribute class that are used to override the serialization of the two classes.

#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 = "http://www.microsoft.com";
      personAttributes->XmlType = personType;
      XmlAttributes^ addressAttributes = gcnew XmlAttributes;

      // Create 'XmlTypeAttribute' with 'TypeName' as an argument.
      XmlTypeAttribute^ addressType = gcnew XmlTypeAttribute( "Address" );
      addressType->Namespace = "http://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" );
}
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 = "http://www.microsoft.com";
      personAttributes.XmlType = personType;

      XmlAttributes addressAttributes = new XmlAttributes();
      // Create 'XmlTypeAttribute' with 'TypeName' as an argument.
      XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
      addressType.Namespace = "http://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);
   }
}
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 = "http://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 = "http://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

XmlTypeAttribute(String)

Инициализирует новый экземпляр класса XmlTypeAttribute и задает имя типа XML.Initializes a new instance of the XmlTypeAttribute class and specifies the name of the XML type.

public:
 XmlTypeAttribute(System::String ^ typeName);
public XmlTypeAttribute (string typeName);
new System.Xml.Serialization.XmlTypeAttribute : string -> System.Xml.Serialization.XmlTypeAttribute
Public Sub New (typeName As String)

Параметры

typeName
String

Имя типа XML, генерируемое XmlSerializer при сериализации экземпляра класса (и определении при десериализации экземпляра класса).The name of the XML type that the XmlSerializer generates when it serializes the class instance (and recognizes when it deserializes the class instance).

Примеры

В следующем примере создаются два экземпляра класса XmlTypeAttribute, которые используются для переопределения сериализации двух классов.The following example creates two instances of the XmlTypeAttribute class that are used to override the serialization of the two classes.

#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 = "http://www.microsoft.com";
      personAttributes->XmlType = personType;
      XmlAttributes^ addressAttributes = gcnew XmlAttributes;

      // Create 'XmlTypeAttribute' with 'TypeName' as an argument.
      XmlTypeAttribute^ addressType = gcnew XmlTypeAttribute( "Address" );
      addressType->Namespace = "http://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" );
}
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 = "http://www.microsoft.com";
      personAttributes.XmlType = personType;

      XmlAttributes addressAttributes = new XmlAttributes();
      // Create 'XmlTypeAttribute' with 'TypeName' as an argument.
      XmlTypeAttribute addressType = new XmlTypeAttribute("Address");
      addressType.Namespace = "http://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);
   }
}
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 = "http://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 = "http://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

Комментарии

Примените XmlTypeAttribute к классу, чтобы указать пространство имен типа XML, имя типа XML и указать, следует ли включать тип в документ схемы XML.Apply the XmlTypeAttribute to a class to specify the XML type's namespace, the XML type name, and whether to include the type in the XML schema document. Чтобы просмотреть результаты установки свойств класса XmlTypeAttribute, скомпилируйте приложение как исполняемый файл или библиотеку DLL и передайте полученный файл в средство определения схемы XML (XSD. exe).To see the results of setting the properties of the XmlTypeAttribute class, compile your application as an executable or DLL, and pass the resulting file to the XML Schema Definition Tool (Xsd.exe). Средство записывает схему, включая определение типа.The tool writes the schema, including the type definition.

Применяется к