Как добавить атрибут к элементу XmlArray (а не к XmlArrayItem) при сериализации объекта?
Как добавить атрибут в элемент XmlArray (XML Serialization)?
Ответ 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>