XmlAttributeAttribute Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger att XmlSerializer måste serialisera klassmedlemmen som ett XML-attribut.
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
- Arv
- Attribut
Exempel
I följande exempel serialiseras en klass som innehåller flera fält som XmlAttributeAttribute tillämpas på.
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
Kommentarer
Tillhör XmlAttributeAttribute en familj av attribut som styr hur XmlSerializer serialiserar eller deserialiserar ett objekt. En fullständig lista över liknande attribut finns i Attribut som styr XML-serialisering.
När det tillämpas på ett offentligt fält eller en egenskap informerar den XmlAttributeAttributeXmlSerializer om att serialisera medlemmen som ett XML-attribut. Som standard serialiserar de offentliga fälten XmlSerializer och egenskaperna som XML-element.
Du kan bara tilldela XmlAttributeAttribute till offentliga fält eller offentliga egenskaper som returnerar ett värde (eller en matris med värden) som kan mappas till någon av de enkla typerna av XML-schemadefinitionsspråk (XSD) (inklusive alla inbyggda datatyper som härleds från XSD-typen anySimpleType ). De möjliga typerna omfattar alla som kan mappas till de enkla XSD-typerna, inklusive Guid, Charoch uppräkningar. Se egenskapen DataType för en lista över XSD-typer och hur de mappas till.NET datatyper.
Det finns två särskilda attribut som kan anges med attributen XmlAttributeAttributexml:lang : (anger språk) och xml:space (anger hur blanksteg ska hanteras). Dessa attribut är avsedda att förmedla information som endast är relevant för ett program som bearbetar XML-koden. Exempel på hur du anger dessa visas i följande kod.
[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
Mer information om hur du använder attribut finns i Attribut.
Note
Du kan använda ordet XmlAttribute i koden i stället för längre XmlAttributeAttribute.
Konstruktorer
| Name | Description |
|---|---|
| XmlAttributeAttribute() |
Initierar en ny instans av XmlAttributeAttribute klassen. |
| XmlAttributeAttribute(String, Type) |
Initierar en ny instans av XmlAttributeAttribute klassen. |
| XmlAttributeAttribute(String) |
Initierar en ny instans av XmlAttributeAttribute klassen och anger namnet på det genererade XML-attributet. |
| XmlAttributeAttribute(Type) |
Initierar en ny instans av XmlAttributeAttribute klassen. |
Egenskaper
| Name | Description |
|---|---|
| AttributeName |
Hämtar eller anger namnet på XML-attributet. |
| DataType |
Hämtar eller anger XSD-datatypen för XML-attributet som genereras av XmlSerializer. |
| Form |
Hämtar eller anger ett värde som anger om XML-attributnamnet som genereras av XmlSerializer är kvalificerat. |
| Namespace |
Hämtar eller anger XML-namnområdet för XML-attributet. |
| Type |
Hämtar eller anger den komplexa typen av XML-attribut. |
| TypeId |
När den implementeras i en härledd klass hämtar du en unik identifierare för den här Attribute. (Ärvd från Attribute) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt. (Ärvd från Attribute) |
| GetHashCode() |
Returnerar hash-koden för den här instansen. (Ärvd från Attribute) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IsDefaultAttribute() |
När den åsidosättas i en härledd klass anger du om värdet för den här instansen är standardvärdet för den härledda klassen. (Ärvd från Attribute) |
| Match(Object) |
När den åsidosätts i en härledd klass returneras ett värde som anger om den här instansen är lika med ett angivet objekt. (Ärvd från Attribute) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mappar en uppsättning namn till en motsvarande uppsättning av sändningsidentifierare. (Ärvd från Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Hämtar typinformationen för ett objekt, som kan användas för att hämta typinformationen för ett gränssnitt. (Ärvd från Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Hämtar antalet typinformationsgränssnitt som ett objekt tillhandahåller (antingen 0 eller 1). (Ärvd från Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Ger åtkomst till egenskaper och metoder som exponeras av ett objekt. (Ärvd från Attribute) |