Как добавить атрибут элемента XmlArray (а не XmlArrayItem) при сериализации объекта?Как добавить атрибут в элемент XmlArray (XML Serialization)?
ответ
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>
да, я знаю, что это .. Может быть, я не объяснить правильно .. дайте мне объяснить с помощью примера
у вас есть [XmlAttribute ("total")] public int Total {get {return Names.Length;} set {}} или аналогичный; обратите внимание на «ничего не делать» сеттера. –
(... с использованием того же подхода, что и codemeit, как было показано, объявить его) –
Пример желаемых результатов будет идеальным ... –