DataContractSerializer错过了一个对象

时间:2011-02-09 10:44:01

标签: c# .net wcf datacontractserializer

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

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的值保持为null。

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

尝试

[数据成员(订单= 0)] 类型 [数据成员(订单= 1)] 名称 [数据成员(订单= 2)] 值

其他选项是

[数据成员] 类型 [数据成员] 名称 [数据成员] 值

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