我正在使用DataContractSerializer将xml反序列化为列表。

xml结构如下:

<ArrayOfAttributes>
<Attributes>
<Type></Type>
<Value></Value>
<Name></Name>
</Attributes>
</ArrayOfAttributes>


Attributes类具有3个通过属性引用的字符串数据成员,它们是:

[DataMember(Order=0)]
Type
[DataMember(Order=1)]
Value
[DataMember(Order=2)]
Name


当WCF服务在XML中返回一个以上的Attributes元素时,将成功填充Name对象,但是如果仅返回1个Attributes元素,则Name的值将保持为空。

有人知道我在做什么错吗?

最佳答案

根据粘贴的XML,DataMember顺序似乎错误。

尝试

[DataMember(Order = 0)]
类型
[DataMember(Order = 1)]
名称
[DataMember(Order = 2)]


其他选择是

[DataMember]
类型
[DataMember]
名称
[DataMember]


尝试第二个,它将始终有效:)

10-02 17:17