Export (0) Print
Expand All

XmlArrayAttribute::ElementName Property

Gets or sets the XML element name given to the serialized array.

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

public:
property String^ ElementName {
	String^ get ();
	void set (String^ value);
}

Property Value

Type: System::String
The XML element name of the serialized array. The default is the name of the member to which the XmlArrayAttribute is assigned.

Specify an ElementName when you want the generated XML element name to differ from the member's identifier.

You can set the same ElementName value to more than one member as long as the generated XML document uses XML namespaces to distinguish between the identically named members. For more details about using namespaces and creating prefixed names in the XML document, see XmlSerializerNamespaces.

The following example serializes an instance of the Library class that contains a property named Books that returns an array of Book items. The example uses the ElementName property to specify that the array of XML elements should be named My_Books rather than Books.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Book
{
public:
   String^ Title;
   String^ Author;
   String^ ISBN;
};

public ref class Library
{
private:
   array<Book^>^books;

public:

   [XmlArray(ElementName="My_Books")]
   property array<Book^>^ Books 
   {
      array<Book^>^ get()
      {
         return books;
      }

      void set( array<Book^>^value )
      {
         books = value;
      }
   }
};

int main()
{
   String^ filename = "ArrayExample.xml";
   XmlSerializer^ mySerializer = gcnew XmlSerializer( Library::typeid );
   TextWriter^ t = gcnew StreamWriter( filename );
   XmlSerializerNamespaces^ ns = gcnew XmlSerializerNamespaces;
   ns->Add( "bk", "http://wwww.contoso.com" );
   Book^ b1 = gcnew Book;
   b1->Title = "MyBook Title";
   b1->Author = "An Author";
   b1->ISBN = "00000000";
   Book^ b2 = gcnew Book;
   b2->Title = "Another Title";
   b2->Author = "Another Author";
   b2->ISBN = "0000000";
   Library^ myLibrary = gcnew Library;
   array<Book^>^myBooks = {b1,b2};
   myLibrary->Books = myBooks;
   mySerializer->Serialize( t, myLibrary, ns );
   t->Close();
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft