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>