Поделиться через


XmlAttributeAttribute Класс

Определение

Указывает, что XmlSerializer должен сериализовать член класса в виде 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
Наследование
XmlAttributeAttribute
Атрибуты

Примеры

В следующем примере сериализуется класс, содержащий несколько полей, к которым 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

Комментарии

Относится XmlAttributeAttribute к семейству атрибутов, которые управляют тем, как XmlSerializer сериализуется или десериализирует объект. Полный список аналогичных атрибутов см. в разделе Атрибуты, управляющие сериализацией XML.

При применении к общедоступному полю или свойству сообщает XmlAttributeAttributeXmlSerializer сериализации элемента в виде XML-атрибута. По умолчанию сериализует XmlSerializer общедоступные поля и свойства в виде XML-элементов.

Можно назначить XmlAttributeAttribute только открытые поля или общедоступные свойства, возвращающие значение (или массив значений), которые можно сопоставить с одним из простых типов языка определения схемы XML (XSD), включая все встроенные типы данных, производные от типа XSD anySimpleType . Возможные типы включают любые, которые можно сопоставить с простыми типами XSD, включая GuidCharперечисления и перечисления. Ознакомьтесь со свойством DataType для списка типов XSD и их сопоставлении to.NET типами данных.

Существует два специальных атрибута, которые можно задать с XmlAttributeAttribute помощью атрибутов : xml:lang (указывает язык) и xml:space (указывает, как обрабатывать пробелы). Эти атрибуты предназначены для передачи информации, которая относится только к обработке XML приложения. Примеры настройки показаны в следующем коде.

[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

Дополнительные сведения об использовании атрибутов см. в разделе "Атрибуты".

Замечание

Вы можете использовать слово XmlAttribute в коде вместо более длинного XmlAttributeAttribute.

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

Имя Описание
XmlAttributeAttribute()

Инициализирует новый экземпляр класса XmlAttributeAttribute.

XmlAttributeAttribute(String, Type)

Инициализирует новый экземпляр класса XmlAttributeAttribute.

XmlAttributeAttribute(String)

Инициализирует новый экземпляр XmlAttributeAttribute класса и задает имя созданного XML-атрибута.

XmlAttributeAttribute(Type)

Инициализирует новый экземпляр класса XmlAttributeAttribute.

Свойства

Имя Описание
AttributeName

Возвращает или задает имя атрибута XML.

DataType

Возвращает или задает тип данных XSD атрибута XML, созданного методом XmlSerializer.

Form

Возвращает или задает значение, указывающее, является ли имя XML-атрибута, созданного XmlSerializer квалифицированным.

Namespace

Возвращает или задает пространство имен XML атрибута XML.

Type

Возвращает или задает сложный тип атрибута XML.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

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