XmlArrayAttribute.ElementName Свойство

Определение

Получает или задает имя XML-элемента, присвоенное сериализованному массиву.

public string ElementName { get; set; }

Значение свойства

String

Имя XML-элемента сериализованного массива. По умолчанию используется имя члена, которому назначается XmlArrayAttribute.

Примеры

В следующем примере выполняется сериализация экземпляра Library класса, содержащего свойство с именем Books , которое возвращает массив Book элементов. В примере используется ElementName свойство, указывающее, что массив XML-элементов должен называться My_Books , а не Books.

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();
   }
}

Комментарии

Укажите, ElementName когда нужно, чтобы имя созданного XML-элемента отличалось от идентификатора элемента.

Для одного и того же ElementName значения можно задать несколько элементов, если созданный XML-документ использует пространства имен XML для различения идентичных именованных элементов. Дополнительные сведения об использовании пространств имен и создании имен с префиксом в XML-документе см. в статье XmlSerializerNamespaces.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0

См. также раздел