XmlAttributeAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica que deve XmlSerializer serializar o membro da classe como um atributo XML.
public ref class XmlAttributeAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)]
public class XmlAttributeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue)>]
type XmlAttributeAttribute = class
inherit Attribute
Public Class XmlAttributeAttribute
Inherits Attribute
- Herança
- Atributos
Exemplos
O exemplo seguinte serializa uma classe que contém vários campos aos quais o é aplicado XmlAttributeAttribute .
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using System.Xml.Schema;
public class Group
{
[XmlAttribute (Namespace = "http://www.cpandl.com")]
public string GroupName;
[XmlAttribute(DataType = "base64Binary")]
public Byte [] GroupNumber;
[XmlAttribute(DataType = "date", AttributeName = "CreationDate")]
public DateTime Today;
}
public class Run
{
public static void Main()
{
Run test = new Run();
test.SerializeObject("Attributes.xml");
}
public void SerializeObject(string filename)
{
// Create an instance of the XmlSerializer class.
XmlSerializer mySerializer =
new XmlSerializer(typeof(Group));
// Writing the file requires a TextWriter.
TextWriter writer = new StreamWriter(filename);
// Create an instance of the class that will be serialized.
Group myGroup = new Group();
// Set the object properties.
myGroup.GroupName = ".NET";
Byte [] hexByte = new Byte[2]{Convert.ToByte(100),
Convert.ToByte(50)};
myGroup.GroupNumber = hexByte;
DateTime myDate = new DateTime(2001,1,10);
myGroup.Today = myDate;
// Serialize the class, and close the TextWriter.
mySerializer.Serialize(writer, myGroup);
writer.Close();
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Imports System.Xml.Schema
Public Class Group
<XmlAttribute(Namespace := "http://www.cpandl.com")> _
Public GroupName As String
<XmlAttribute(DataType := "base64Binary")> _
Public GroupNumber() As Byte
<XmlAttribute(DataType := "date", AttributeName := "CreationDate")> _
Public Today As DateTime
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("Attributes.xml")
End Sub
Public Sub SerializeObject(ByVal filename As String)
' Create an instance of the XmlSerializer class.
Dim mySerializer As New XmlSerializer(GetType(Group))
' Writing the file requires a TextWriter.
Dim writer As New StreamWriter(filename)
' Create an instance of the class that will be serialized.
Dim myGroup As New Group()
' Set the object properties.
myGroup.GroupName = ".NET"
Dim hexByte() As Byte = {Convert.ToByte(100), Convert.ToByte(50)}
myGroup.GroupNumber = hexByte
Dim myDate As New DateTime(2001, 1, 10)
myGroup.Today = myDate
' Serialize the class, and close the TextWriter.
mySerializer.Serialize(writer, myGroup)
writer.Close()
End Sub
End Class
Observações
Pertence XmlAttributeAttribute a uma família de atributos que controla como serializa XmlSerializer , ou desserializa, um objeto. Para obter uma lista completa de atributos semelhantes, consulte Atributos que controlam a serialização XML.
Quando aplicado a um campo ou propriedade pública, informa XmlAttributeAttribute o XmlSerializer para serializar o membro como um atributo XML. Por defeito, serializa XmlSerializer campos e propriedades públicas como elementos XML.
Pode atribuir apenas a XmlAttributeAttribute campos públicos ou propriedades públicas que retornam um valor (ou array de valores) que pode ser mapeado para um dos tipos simples da linguagem XML Schema definition language (XSD) (incluindo todos os tipos de dados incorporados derivados do tipo XSD anySimpleType ). Os tipos possíveis incluem qualquer um que possa ser mapeado para os tipos simples XSD, incluindo Guid, Char, e enumerações. Consulte a propriedade DataType para uma lista de tipos XSD e como são mapeados para.NET tipos de dados.
Existem dois atributos especiais que podem ser definidos com os XmlAttributeAttribute atributos : ( xml:lang especifica a linguagem) e xml:space (especifica como lidar com o espaço em branco). Estes atributos destinam-se a transmitir informação relevante apenas para uma aplicação que processa o XML. Exemplos de definição destes são mostrados no código seguinte.
[XmlAttribute("xml:lang")]
public string Lang;
// Set this to 'default' or 'preserve'.
[XmlAttribute("space",
Namespace = "http://www.w3.org/XML/1998/namespace")]
public string Space
<XmlAttribute("xml:lang")> _
Public Lang As String
' Set this to 'default' or 'preserve'.
<XmlAttribute("space", _
Namespace:= "http://www.w3.org/XML/1998/namespace")> _
Public Space As String
Para mais informações sobre o uso de atributos, consulte Atributos.
Note
Podes usar a palavra XmlAttribute no teu código em vez do mais longo XmlAttributeAttribute.
Construtores
| Name | Description |
|---|---|
| XmlAttributeAttribute() |
Inicializa uma nova instância da XmlAttributeAttribute classe. |
| XmlAttributeAttribute(String, Type) |
Inicializa uma nova instância da XmlAttributeAttribute classe. |
| XmlAttributeAttribute(String) |
Inicializa uma nova instância da XmlAttributeAttribute classe e especifica o nome do atributo XML gerado. |
| XmlAttributeAttribute(Type) |
Inicializa uma nova instância da XmlAttributeAttribute classe. |
Propriedades
| Name | Description |
|---|---|
| AttributeName |
Recebe ou define o nome do atributo XML. |
| DataType |
Obtém ou define o tipo de dado XSD do atributo XML gerado pelo XmlSerializer. |
| Form |
Recebe ou define um valor que indica se o nome do atributo XML gerado por o XmlSerializer é qualificado. |
| Namespace |
Obtém ou define o namespace XML do atributo XML. |
| Type |
Obtém ou define o tipo complexo do atributo XML. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |