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žit .
#using <System.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
using namespace System::Xml::Schema;
public ref class Group
{
public:
[XmlAttributeAttribute(Namespace="http://www.cpandl.com")]
String^ GroupName;
[XmlAttributeAttribute(DataType="base64Binary")]
array<Byte>^GroupNumber;
[XmlAttributeAttribute(DataType="date",AttributeName="CreationDate")]
DateTime Today;
};
void SerializeObject( String^ filename )
{
// Create an instance of the XmlSerializer class.
XmlSerializer^ mySerializer = gcnew XmlSerializer( Group::typeid );
// Writing the file requires a TextWriter.
TextWriter^ writer = gcnew StreamWriter( filename );
// Create an instance of the class that will be serialized.
Group^ myGroup = gcnew Group;
// Set the object properties.
myGroup->GroupName = ".NET";
array<Byte>^hexByte = {Convert::ToByte( 100 ),Convert::ToByte( 50 )};
myGroup->GroupNumber = hexByte;
DateTime myDate = DateTime(2001,1,10);
myGroup->Today = myDate;
// Serialize the class, and close the TextWriter.
mySerializer->Serialize( writer, myGroup );
writer->Close();
}
int main()
{
SerializeObject( "Attributes.xml" );
}
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 rodiny atributů, které řídí, jak XmlSerializer serializuje nebo deserializuje objekt. Úplný seznam podobných atributů naleznete v tématu Attributes That Control XML Serialization.
Při použití na veřejné pole nebo vlastnost, XmlAttributeAttribute informuje o XmlSerializer serializaci člena jako xml atributu. 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á se dá namapovat na jeden z jednoduchých typů jazyka XSD (XML Schema Definition Language) (včetně všech předdefinovaných datových typů odvozených od typu XSD anySimpleType
). Možné typy zahrnují všechny, které lze mapovat na jednoduché typy XSD, včetně Guid, Chara výčtů.
DataType Seznam typů XSD a způsob jejich mapování to.NET datových typů najdete ve vlastnosti .
Existují dva speciální atributy, které lze nastavit pomocí XmlAttributeAttribute atributů : xml:lang
(určuje jazyk) a xml:space
(určuje, jak se zpracovávají prázdné znaky). Tyto atributy jsou určeny ke sdělení informací, které jsou relevantní pouze pro aplikaci zpracovávající XML. Příklady jejich nastavení jsou uvedeny 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ů najdete v tématu Atributy.
Poznámka
Místo delšího XmlAttributeAttributeslova můžete v kódu použít slovo XmlAttribute
.
Konstruktory
XmlAttributeAttribute() |
Inicializuje novou instanci XmlAttributeAttribute třídy . |
XmlAttributeAttribute(String) |
Inicializuje novou instanci XmlAttributeAttribute třídy a určuje název vygenerovaného atributu XML. |
XmlAttributeAttribute(String, Type) |
Inicializuje novou instanci XmlAttributeAttribute třídy . |
XmlAttributeAttribute(Type) |
Inicializuje novou instanci XmlAttributeAttribute třídy . |
Vlastnosti
AttributeName |
Získá nebo nastaví název atributu XML. |
DataType |
Získá nebo nastaví datový typ XSD atributu XML vygenerovaného objektem XmlSerializer. |
Form |
Získá nebo nastaví hodnotu, která označuje, zda název atributu XML vygenerovaný je XmlSerializer kvalifikovaný. |
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 tuto Attributetřídu . (Zděděno od Attribute) |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_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) |