Чтобы указать имена элементов XML массива (IList
, ICollection
и т. Д.) И его элементов, необходимо использовать атрибуты XmlArray
и XmlArrayItem
:
[Serializable, XmlRoot("person")]
public class FooUserProfile
{
/* The other members... */
[XmlArray("positions")]
[XmlArrayItem("position")]
public List<FooPosition> Positions { get; set; }
}
Атрибут XmlElement
приводит к тому, что окружающий элемент массива XML будет опущен, а элементам массива XML будут присвоены имена:
[XmlRoot("Config")]
public class Foo
{
[XmlElement("Id")]
public string[] IdStringArrayWithStupidName;
}
Сериализованный XML:
<?xml version="1.0" encoding="?>
<Config>
<Id></Id>
<Id></Id>
</Config>