Compartilhar via


XmlAttributes.XmlType Propriedade

Definição

Obtém ou define um objeto que especifica como serializa XmlSerializer uma classe à qual a XmlTypeAttribute classe foi aplicada.

public:
 property System::Xml::Serialization::XmlTypeAttribute ^ XmlType { System::Xml::Serialization::XmlTypeAttribute ^ get(); void set(System::Xml::Serialization::XmlTypeAttribute ^ value); };
public System.Xml.Serialization.XmlTypeAttribute XmlType { get; set; }
public System.Xml.Serialization.XmlTypeAttribute? XmlType { get; set; }
member this.XmlType : System.Xml.Serialization.XmlTypeAttribute with get, set
Public Property XmlType As XmlTypeAttribute

Valor da propriedade

Um XmlTypeAttribute que substitui um XmlTypeAttribute aplicado a uma declaração de classe.

Exemplos

O exemplo a seguir cria um XmlTypeAttribute objeto e o XmlType atribui à propriedade de um XmlAttributes objeto.

using System;
using System.IO;
using System.Xml.Serialization;

public class Transportation
{
   public Car[] Cars;
}

public class Car
{
   public int ID;
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.SerializeObject("XmlType.xml");
   }

   // Return an XmlSerializer used for overriding.
   public XmlSerializer CreateOverrider()
   {
      // Create the XmlAttributes and XmlAttributeOverrides objects.
      XmlAttributes attrs = new XmlAttributes();
      XmlAttributeOverrides xOver = new XmlAttributeOverrides();

      /* Create an XmlTypeAttribute and change the name of the
         XML type. */
      XmlTypeAttribute xType = new XmlTypeAttribute();
      xType.TypeName = "Autos";

      // Set the XmlTypeAttribute to the XmlType property.
      attrs.XmlType = xType;

      /* Add the XmlAttributes to the XmlAttributeOverrides,
         specifying the member to override. */
      xOver.Add(typeof(Car), attrs);

      // Create the XmlSerializer, and return it.
      XmlSerializer xSer = new XmlSerializer
      (typeof(Transportation), xOver);
      return xSer;
   }

   public void SerializeObject(string filename)
   {
      // Create an XmlSerializer instance.
      XmlSerializer xSer = CreateOverrider();

      // Create object and serialize it.
      Transportation myTransportation =
      new Transportation();

      Car c1 = new Car();
      c1.ID = 12;

      Car c2 = new Car();
      c2.ID = 44;

      myTransportation.Cars = new Car[2]{c1,c2};

      // To write the file, a TextWriter is required.
      TextWriter writer = new StreamWriter(filename);
      xSer.Serialize(writer, myTransportation);
   }
}
Imports System.IO
Imports System.Xml.Serialization


Public Class Transportation
    Public Cars() As Car
End Class

Public Class Car
    Public ID As Integer
End Class


Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        t.SerializeObject("XmlType.xml")
    End Sub
    
    
    ' Return an XmlSerializer used for overriding.
    Public Function CreateOverrider() As XmlSerializer
        ' Create the XmlAttributes and XmlAttributeOverrides objects.
        Dim attrs As New XmlAttributes()
        Dim xOver As New XmlAttributeOverrides()
        
        ' Create an XmlTypeAttribute and change the name of the
        ' XML type. 
        Dim xType As New XmlTypeAttribute()
        xType.TypeName = "Autos"
        
        ' Set the XmlTypeAttribute to the XmlType property.
        attrs.XmlType = xType
        
        ' Add the XmlAttributes to the XmlAttributeOverrides,
        ' specifying the member to override. 
        xOver.Add(GetType(Car), attrs)
        
        ' Create the XmlSerializer, and return it.
        Dim xSer As New XmlSerializer(GetType(Transportation), xOver)
        Return xSer
    End Function
    
    
    Public Sub SerializeObject(ByVal filename As String)
        ' Create an XmlSerializer instance.
        Dim xSer As XmlSerializer = CreateOverrider()
        
        ' Create an object and serialize it.
        Dim myTransportation As New Transportation()
        
        Dim c1 As New Car()
        c1.ID = 12
        
        Dim c2 As New Car()
        c2.ID = 44
        
        myTransportation.Cars = New Car(1) {c1, c2}
        
        ' To write the file, a TextWriter is required.
        Dim writer As New StreamWriter(filename)
        xSer.Serialize(writer, myTransportation)
    End Sub
End Class

Comentários

Pode XmlTypeAttribute ser usado para controlar como um tipo é serializado pelo XmlSerializer. Por exemplo, por padrão, quando um tipo é serializado, ele usa o XmlSerializer nome da classe como o nome do elemento XML. Ao criar um XmlTypeAttribute, definir a XmlType propriedade para ele e criar um XmlAttributeOverrides objeto, você pode alterar o nome do elemento XML.

Aplica-se a