Подтвердить что ты не робот

Как добавить атрибут в элемент XmlArray (XML Serialization)?

Как добавить атрибут к элементу XmlArray (а не к XmlArrayItem) при сериализации объекта?

4b9b3361

Ответ 1

XmlArray используется, чтобы сообщить xmlserializer обработать свойство как массив и сериализовать его согласно его параметрам для имен элементов.

[XmlArray("FullNames")]
[XmlArrayItem("Name")]
public string[] Names{get;set;}

предоставит вам

<FullNames>
    <Name>Michael Jackson</Name>
    <Name>Paris Hilton</Name>
</FullNames>

Чтобы добавить атрибут xml в элемент FullNames, вам нужно объявить для него класс.

[XmlType("FullNames")]
public class Names
{
   [XmlAttribute("total")]
   public int Total {get;set;} 
   [XmlElement("Name")]
   public string[] Names{get;set;}
}

Это даст вам

<FullNames total="2">
    <Name>Michael Jackson</Name>
    <Name>Paris Hilton</Name>
</FullNames>