Compartilhar via


XmlArrayAttribute.ElementName Propriedade

Definição

Obtém ou define o nome do elemento XML fornecido à matriz serializada.

public:
 property System::String ^ ElementName { System::String ^ get(); void set(System::String ^ value); };
public string ElementName { get; set; }
member this.ElementName : string with get, set
Public Property ElementName As String

Valor da propriedade

O nome do elemento XML da matriz serializada. O padrão é o nome do membro ao qual o XmlArrayAttribute é atribuído.

Exemplos

O exemplo a seguir serializa uma instância da Library classe que contém uma propriedade chamada Books que retorna uma matriz de Book itens. O exemplo usa a ElementName propriedade para especificar que a matriz de elementos XML deve ser nomeada My_Books em vez de 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();
}
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Library
{
   private Book[] books;
   [XmlArray(ElementName="My_Books")]
   public Book[] Books
   {
      get{return books;}
      set{books = value;}
   }
}

public class Book
{
   public string Title;
   public string Author;
   public string ISBN;
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.WriteBook("ArrayExample.xml");
   }

   public void WriteBook(string filename)
   {
      XmlSerializer mySerializer = new XmlSerializer(typeof(Library));
      TextWriter t = new StreamWriter(filename);
      XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
      ns.Add("bk", "http://wwww.contoso.com");

      Book b1 = new Book();
      b1.Title = "MyBook Title";
      b1.Author = "An Author";
      b1.ISBN = "00000000";

      Book b2 = new Book();
      b2.Title = "Another Title";
      b2.Author = "Another Author";
      b2.ISBN = "0000000";

      Library myLibrary = new Library();
      Book[] myBooks = {b1,b2};
      myLibrary.Books = myBooks;

      mySerializer.Serialize(t,myLibrary,ns);
      t.Close();
   }
}
Option Explicit
Option Strict

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


Public Class Library
    Private myBooks() As Book
    
    <XmlArray(ElementName := "My_Books")> _
    Public Property Books() As Book()
        Get
            Return myBooks
        End Get
        Set
            myBooks = value
        End Set
    End Property
End Class
 
Public Class Book
    Public Title As String
    Public Author As String
    Public ISBN As String
End Class


Public Class Run
    
    Public Shared Sub Main()
        Dim test As New Run()
        test.WriteBook("ArrayExample.xml")
    End Sub
    
    
    Public Sub WriteBook(ByVal filename As String)
        Dim mySerializer As New XmlSerializer(GetType(Library))
        Dim t As New StreamWriter(filename)
        Dim ns As New XmlSerializerNamespaces()
        ns.Add("bk", "http://wwww.contoso.com")
        
        Dim b1 As New Book()
        b1.Title = "MyBook Title"
        b1.Author = "An Author"
        b1.ISBN = "00000000"
        
        Dim b2 As New Book()
        b2.Title = "Another Title"
        b2.Author = "Another Author"
        b2.ISBN = "0000000"
        
        Dim myLibrary As New Library()
        Dim myBooks() As Book =  {b1, b2}
        myLibrary.Books = myBooks
        
        mySerializer.Serialize(t, myLibrary, ns)
        t.Close()
    End Sub
End Class

Comentários

Especifique um ElementName quando desejar que o nome do elemento XML gerado difere do identificador do membro.

Você pode definir o mesmo ElementName valor como mais de um membro, desde que o documento XML gerado use namespaces XML para distinguir entre os membros nomeados de forma idêntica. Para obter mais detalhes sobre como usar namespaces e criar nomes prefixados no documento XML, consulte XmlSerializerNamespaces.

Aplica-se a

Confira também