XmlAttributeAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, že XmlSerializer musí serializovat člen třídy jako atribut 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
- Dědičnost
- Atributy
Příklady
Následující příklad serializuje třídu, která obsahuje několik polí, na které XmlAttributeAttribute je použita.
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
Poznámky
Patří XmlAttributeAttribute do řady atributů, které řídí, jak XmlSerializer serializuje nebo deserializuje objekt. Úplný seznam podobných atributů naleznete v části Atributy, které řídí serializaci XML.
Při použití u veřejného pole nebo vlastnosti informuje XmlAttributeAttribute o XmlSerializer serializaci člena jako atribut XML. Ve výchozím nastavení XmlSerializer serializuje veřejná pole a vlastnosti jako elementy XML.
Můžete přiřadit XmlAttributeAttribute pouze veřejným polím nebo veřejným vlastnostem, které vracejí hodnotu (nebo pole hodnot), které lze mapovat na jeden z jednoduchých typů jazyka XSD (XML Schema Definition Language) (včetně všech předdefinovaných datových typů odvozených z typu XSD anySimpleType ). Možné typy zahrnují všechny, které lze mapovat na jednoduché typy XSD, včetně Guid, Chara výčty.
DataType Prohlédněte si vlastnost seznamu typů XSD a jejich mapování to.NET datových typů.
Existují dva speciální atributy, které lze nastavit pomocí XmlAttributeAttribute : xml:lang (určuje jazyk) a xml:space (určuje, jak zpracovat prázdné znaky) atributy. Tyto atributy jsou určeny ke sdělení informací, které jsou relevantní pouze pro aplikaci zpracovávající XML. Příklady nastavení jsou uvedené v následujícím kódu.
[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
Další informace o používání atributů naleznete v tématu Atributy.
Poznámka:
Místo delšího XmlAttributeAttributekódu můžete použít slovo XmlAttribute v kódu .
Konstruktory
| Name | Description |
|---|---|
| XmlAttributeAttribute() |
Inicializuje novou instanci XmlAttributeAttribute třídy. |
| XmlAttributeAttribute(String, Type) |
Inicializuje novou instanci XmlAttributeAttribute třídy. |
| XmlAttributeAttribute(String) |
Inicializuje novou instanci XmlAttributeAttribute třídy a určuje název vygenerovaného atributu XML. |
| XmlAttributeAttribute(Type) |
Inicializuje novou instanci XmlAttributeAttribute třídy. |
Vlastnosti
| Name | Description |
|---|---|
| AttributeName |
Získá nebo nastaví název atributu XML. |
| DataType |
Získá nebo nastaví datový typ XSD atributu XML generovaného XmlSerializer. |
| Form |
Získá nebo nastaví hodnotu, která určuje, zda je název atributu XML vygenerovaný kvalifikovaným XmlSerializer . |
| Namespace |
Získá nebo nastaví obor názvů XML atributu XML. |
| Type |
Získá nebo nastaví komplexní typ atributu XML. |
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |