CollectionDataContractAttribute用于没有组元素的列表

时间:2010-07-07 18:06:35

标签: c# wcf datacontractserializer

我的问题是我想使用CollectionDataControlAttribute来反序列化没有group元素的集合。 xml看起来像这样:

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

ListElementEntry出现零次或多次。

帮助感谢

1 个答案:

答案 0 :(得分:2)

是否必须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通常是更好的选择。