XmlAttributes.XmlType Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um objeto que especifica como o XmlSerializer serializa uma classe à qual o XmlTypeAttribute foi aplicado.
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.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
public ref class Car
{
public:
int ID;
};
public ref class Transportation
{
public:
array<Car^>^Cars;
};
// Return an XmlSerializer used for overriding.
XmlSerializer^ CreateOverrider()
{
// Create the XmlAttributes and XmlAttributeOverrides objects.
XmlAttributes^ attrs = gcnew XmlAttributes;
XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;
/* Create an XmlTypeAttribute and change the name of the
XML type. */
XmlTypeAttribute^ xType = gcnew 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( Car::typeid, attrs );
// Create the XmlSerializer, and return it.
XmlSerializer^ xSer = gcnew XmlSerializer( Transportation::typeid,xOver );
return xSer;
}
void SerializeObject( String^ filename )
{
// Create an XmlSerializer instance.
XmlSerializer^ xSer = CreateOverrider();
// Create object and serialize it.
Transportation^ myTransportation = gcnew Transportation;
Car^ c1 = gcnew Car;
c1->ID = 12;
Car^ c2 = gcnew Car;
c2->ID = 44;
array<Car^>^temp0 = {c1,c2};
myTransportation->Cars = temp0;
// To write the file, a TextWriter is required.
TextWriter^ writer = gcnew StreamWriter( filename );
xSer->Serialize( writer, myTransportation );
}
int main()
{
SerializeObject( "XmlType.xml" );
}
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, o XmlSerializer nome da classe é usado como o nome do elemento XML. Criando uma XmlTypeAttributepropriedade, definindo a XmlType propriedade para ela e criando um XmlAttributeOverrides objeto, você pode alterar o nome do elemento XML.