CollectionDataContractAttribute для списка без элемента группы - PullRequest
2 голосов
/ 07 июля 2010

Моя проблема в том, что я хотел бы использовать CollectionDataControlAttribute для десериализации коллекции, в которой нет элемента группы.XML выглядит примерно так:

<RootElement>
    <SomeProperty />
    <ListElementEntry />
    <ListElementEntry />
    <ListElementEntry />
    <ListElementEntry />
</RootElement>

Где ListElementEntry появляется ноль или более раз.

Помощь оценена

1 Ответ

2 голосов
/ 07 июля 2010

Это должно быть DataContractSerializer?Вы можете выбрать XmlSerializer для WCF, а затем можете использовать:

[XmlRoot("RootElement"), XmlType("RootElement")]
public class Foo {
    public string SomeProperty {get;set;}
    [XmlElement("ListElementEntry")]
    public List<Bar> Bars {get {return bars;}}
    private readonly List<Bar> bars = new List<Bar>();
}

В конечном итоге, DataContractSerializer просто не предназначен , чтобы обеспечить вам тот же уровень контроля XML- поэтому он не поддерживает даже атрибуты.Если вам нужен конкретный xml, XmlSerializer обычно лучший выбор.

...