This documentation is archived and is not being maintained.

SoapAttributeAttribute.AttributeName Property

Gets or sets the name of the XML attribute generated by the XmlSerializer.

Namespace:  System.Xml.Serialization
Assembly:  System.Xml (in System.Xml.dll)

public string AttributeName { get; set; }

Property Value

Type: System.String
The name of the XML attribute. The default is the member identifier.

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, use a valid name for the identifier while setting the AttributeName to an invalid name.

The following example serializes a class that contains several fields to which the SoapAttributeAttribute is applied. The AttributeName property is set for the Today field.

using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.Xml.Schema;

[SoapInclude(typeof(Vehicle))]
public class Group
{
   [SoapAttribute (Namespace = "http://www.cpandl.com")]
   public string GroupName;

   [SoapAttribute(DataType = "base64Binary")]
   public Byte [] GroupNumber;

   [SoapAttribute(DataType = "date", AttributeName = "CreationDate")]
   public DateTime Today;
   [SoapElement(DataType = "nonNegativeInteger", ElementName = "PosInt")]
   public string PostitiveInt;

   public Vehicle GroupVehicle;
}

public class Vehicle
{
   public string licenseNumber;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeObject("SoapAtts.xml");
      test.DeserializeObject("SoapAtts.xml");
   }
   public void SerializeObject(string filename)
   {
      // Create an instance of the XmlSerializer class that 
      // can generate encoded SOAP messages.
      XmlSerializer mySerializer =  ReturnSOAPSerializer();

      Group myGroup=MakeGroup();
      // Writing the file requires a TextWriter.
      XmlTextWriter writer = 
      new XmlTextWriter(filename, Encoding.UTF8);
      writer.Formatting = Formatting.Indented;
      writer.WriteStartElement("wrapper");
      // Serialize the class, and close the TextWriter.
      mySerializer.Serialize(writer, myGroup);
      writer.WriteEndElement();
      writer.Close();
   }

   private Group MakeGroup(){
      // 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(2002,5,2);
      myGroup.Today = myDate;
      myGroup.PostitiveInt= "10000";
      myGroup.GroupVehicle = new Vehicle();
      myGroup.GroupVehicle.licenseNumber="1234";
      return myGroup;
   }   	

   public void DeserializeObject(string filename)
   {
      // Create an instance of the XmlSerializer class that 
      // can generate encoded SOAP messages.
      XmlSerializer mySerializer =  ReturnSOAPSerializer();

      // Reading the file requires an  XmlTextReader.
      XmlTextReader reader= 
      new XmlTextReader(filename);
      reader.ReadStartElement("wrapper");

      // Deserialize and cast the object.
      Group myGroup; 
      myGroup = (Group) mySerializer.Deserialize(reader);
      reader.ReadEndElement();
      reader.Close();

   }

   private XmlSerializer ReturnSOAPSerializer(){
      // Create an instance of the XmlSerializer class.
      XmlTypeMapping myMapping = 
      (new SoapReflectionImporter().ImportTypeMapping
      (typeof(Group)));
       return new XmlSerializer(myMapping);
   }
}
#using <mscorlib.dll>
#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Text;
using namespace System::Xml;
using namespace System::Xml::Serialization;
using namespace System::Xml::Schema;
//using namespace System::Runtime::Remoting::Metadata;

public __gc class Vehicle {
public:
	String* licenseNumber;
};

[SoapInclude(__typeof(Vehicle))]
public __gc class Group {
public:
	[SoapAttributeAttribute (Namespace = S"http://www.cpandl.com")]
	String* GroupName;

	[SoapAttributeAttribute(DataType = S"base64Binary")]
	Byte GroupNumber[];

	[SoapAttributeAttribute(DataType = S"date", AttributeName = S"CreationDate")]
	DateTime Today;

	[SoapElement(DataType = S"nonNegativeInteger", ElementName = S"PosInt")]
	String* PostitiveInt;

	Vehicle* GroupVehicle;
};

public __gc class Run {
public:
	void SerializeObject(String* filename) {
		// Create an instance of the XmlSerializer class that
		// can generate encoded SOAP messages.
		XmlSerializer* mySerializer =  ReturnSOAPSerializer();

		Group* myGroup=MakeGroup();
		// Writing the file requires a TextWriter.
		XmlTextWriter* writer = new XmlTextWriter(filename, Encoding::UTF8);
		writer->Formatting = Formatting::Indented;
		writer->WriteStartElement(S"wrapper");
		// Serialize the class, and close the TextWriter.
		mySerializer->Serialize(writer, myGroup);
		writer->WriteEndElement();
		writer->Close();
	}

private:
	Group* MakeGroup() {
		// Create an instance of the class that will be serialized.
		Group* myGroup = new Group();

		// Set the Object* properties.
		myGroup->GroupName = S".NET";

		Byte hexByte[] = {Convert::ToByte(100),
			Convert::ToByte(50)};
		myGroup->GroupNumber = hexByte;

		DateTime myDate = DateTime(2002, 5, 2);
		myGroup->Today = myDate;
		myGroup->PostitiveInt= S"10000";
		myGroup->GroupVehicle = new Vehicle();
		myGroup->GroupVehicle->licenseNumber=S"1234";
		return myGroup;
	}       

public:
	void DeserializeObject(String* filename) {
		// Create an instance of the XmlSerializer class that
		// can generate encoded SOAP messages.
		XmlSerializer* mySerializer =  ReturnSOAPSerializer();

		// Reading the file requires an  XmlTextReader.
		XmlTextReader* reader = new XmlTextReader(filename);
		reader->ReadStartElement(S"wrapper");

		// Deserialize and cast the Object*.
		Group* myGroup; 
		myGroup = __try_cast<Group*>( mySerializer->Deserialize(reader) );
		reader->ReadEndElement();
		reader->Close();

	}

private:
	XmlSerializer* ReturnSOAPSerializer() {
		// Create an instance of the XmlSerializer class.
		XmlTypeMapping* myMapping = 
			(new SoapReflectionImporter())->ImportTypeMapping(__typeof(Group));
		return new XmlSerializer(myMapping);
	}
};

int main() {
	Run* test = new Run();
	test->SerializeObject(S"SoapAtts.xml");
	test->DeserializeObject(S"SoapAtts.xml");
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
Show: