Меня интересует наилучший способ настройки имен пользовательских элементов при использовании Списка примитивов с DataContractSerializer.Допустим, у меня есть следующий класс, который содержит список строк как DataMember.
[DataContract]
public class ClassName
{
[DataMember]
public List<String> FieldName { get; set; }
}
По умолчанию это сериализуется в следующем порядке:
<ClassName xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<FieldName xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>Value 1</a:string>
<a:string>Value 2</a:string>
<a:string>Value 3</a:string>
</FieldName>
</ClassName>
Я хотел бы сделатьXML максимально просто преобразовать через XSLT, поэтому в идеале я бы переименовал теги во что-то более полезное, например, в Value.
Одним из возможных решений является создание класса, расширяющего Collection, и установка ItemName для параметра CollectionDataMember, который я нашел здесь .Мне было интересно, есть ли способ достичь той же цели без необходимости в этом дополнительном классе или другой форме класса-обертки.Сериализатор XML использует параметры XMLArray и XMLArrayItem для достижения этой цели, но DataContractSerializer, похоже, не обладает подобной функциональностью.
Спасибо за любые советы или идеи!