Export (0) Print
Expand All

XmlAttributeAttribute.AttributeName Property

Gets or sets the name of the XML attribute.

[Visual Basic]
Public Property AttributeName As String
[C#]
public string AttributeName {get; set;}
[C++]
public: __property String* get_AttributeName();
public: __property void set_AttributeName(String*);
[JScript]
public function get AttributeName() : String;
public function set AttributeName(String);

Property Value

The name of the XML attribute. The default is the member name.

Remarks

Use the AttributeName property to specify an XML attribute name when the default value cannot be used. For example, if the XML attribute name is invalid as a member identifier, you can use a valid name for the identifier while setting the AttributeName to an invalid name.

Example

[Visual Basic, C#, C++] The following example sets the AttributeName property of an XmlAttributeAttribute.

[Visual Basic] 
Option Explicit
Option Strict

Imports System
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization


Public Class Group
    ' Change the XML attribute name.
    <XmlAttribute(AttributeName := "MgrName")> Public Name As String
    ' Use the AttributeName to collect all the XML attributes
    ' in the XML-document instance. 
    <XmlAttribute(AttributeName := "*")> Public Attrs() As XmlAttribute
End Class

Public Class Run
    
    Public Shared Sub Main()
        Dim test As New Run()
        ' To use the AttributeName to collect all the
        ' XML attributes. Call SerializeObject to generate
        ' an XML document and alter the document by adding
        ' new XML attributes to it. Then comment out the SerializeObject
        ' method, and call DeserializeObject.
        test.SerializeObject("MyAtts.xml")
        test.DeserializeObject("MyAtts.xml")
    End Sub
    
    Public Sub SerializeObject(ByVal filename As String)
        Console.WriteLine("Serializing")
        ' 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 Name property, which will be generated
        ' as an XML attribute. 
        myGroup.Name = "Wallace"
        ' Serialize the class, and close the TextWriter.
        mySerializer.Serialize(writer, myGroup)
        writer.Close()
    End Sub
        
    Public Sub DeserializeObject(ByVal filename As String)
        Console.WriteLine("Deserializing")
        Dim mySerializer As New XmlSerializer(GetType(Group))
        Dim fs As New FileStream(filename, FileMode.Open)
        Dim myGroup As Group = CType(mySerializer.Deserialize(fs), Group)
        ' The following code prints all the attributes in the
        ' XML document. To collect the attributes, the AttributeName of the
        ' XmlAttributeAttribute must be set to "*".
        Dim xAtt As XmlAttribute
        For Each xAtt In  myGroup.Attrs
            Console.WriteLine(xAtt.Name & ":" & xAtt.Value)
        Next xAtt
    End Sub
End Class


[C#] 
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class Group
{
   // Change the XML attribute name.
   [XmlAttribute(AttributeName = "MgrName")]
   public string Name;
   /* Use the AttributeName to collect all the XML attributes
   in the XML-document instance. */
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      /* To use the AttributeName to collect all the
      XML attributes. Call SerializeObject to generate 
      an XML document and alter the document by adding
      new XML attributes to it. Then comment out the SerializeObject
      method, and call DeserializeObject. */
      test.SerializeObject("MyAtts.xml");
      test.DeserializeObject("MyAtts.xml");
}
public void SerializeObject(string filename)
{
   Console.WriteLine("Serializing");
   // 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 Name property, which will be generated
   as an XML attribute. */
   myGroup.Name = "Wallace";
   // Serialize the class, and close the TextWriter.
   mySerializer.Serialize(writer, myGroup);
   writer.Close();
}

   public void DeserializeObject(string filename)
   {
      Console.WriteLine("Deserializing");
      XmlSerializer mySerializer =
      new XmlSerializer(typeof(Group));
      FileStream fs = new FileStream(filename, FileMode.Open);
      Group myGroup = (Group)
      mySerializer.Deserialize(fs);
      Console.WriteLine(myGroup.Name);
   }
}
   

[C++] 
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public __gc class Group
{
   // Change the XML attribute name.
public:
   [XmlAttributeAttribute(AttributeName = S"MgrName")]
   String* Name;
   /* Use the AttributeName to collect all the XML attributes
   in the XML-document instance. */
};

void SerializeObject(String* filename)
{
   Console::WriteLine(S"Serializing");
   // 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 Name property, which will be generated
   as an XML attribute. */
   myGroup->Name = S"Wallace";
   // Serialize the class, and close the TextWriter.
   mySerializer->Serialize(writer, myGroup);
   writer->Close();
}

void DeserializeObject(String* filename)
{
   Console::WriteLine(S"Deserializing");
   XmlSerializer* mySerializer =
      new XmlSerializer(__typeof(Group));
   FileStream* fs = new FileStream(filename, FileMode::Open);
   Group* myGroup = dynamic_cast<Group*>(mySerializer->Deserialize(fs));
   Console::WriteLine(myGroup->Name);
}

int main()
{
   /* To use the AttributeName to collect all the
   XML attributes. Call SerializeObject to generate 
   an XML document and alter the document by adding
   new XML attributes to it. Then comment out the SerializeObject
   method, and call DeserializeObject. */
   SerializeObject(S"MyAtts.xml");
   DeserializeObject(S"MyAtts.xml");
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

XmlAttributeAttribute Class | XmlAttributeAttribute Members | System.Xml.Serialization Namespace | ElementName

Show:
© 2014 Microsoft