日期:2014-05-18  浏览次数:21043 次

xsi:type 属性反序列化
序列化之后产生下列 XML:

XML code

<Conditions xmlns="xxxx">
<Condition xmlns:q1="xxxx" xsi:type="q1:QueryConditionBuilder">
<q1:ValueObject xsi:type="ArrayOfSConditionValue">
<SConditionValue xmlns="">
<Value xsi:type="xsd:dateTime">2011-03-01</Value></SConditionValue>
<SConditionValue xmlns="">
<Value xsi:type="xsd:dateTime">2011-04-01</Value></SConditionValue>
</q1:ValueObject></Condition></Conditions>


但是在反序列化的时候 "ValueObject" 却变成了 "System.Xml.XmlNode[0x00000003]",其中3个元素分别是:

1. {Attribute, Name="xsi:type", Value="ArrayOfSConditionValue"}
2. {Element, Name="SConditionValue"}
3. {Element, Name="SConditionValue"}

"ValueObject" 中的 "SetValue(value)" 要根据所赋类型才能正确序列化,结果得到的却是 XmlNode...


"ArrayOfSConditionValue" 是被自动修改后的名称,程序中原始的是"SConditionValueArray"

any ideas?


Thanks,


------解决方案--------------------
你反序列化的代码怎么写的?是不是写错了

绿色辅助工具——《Csdn收音机》帮你轻松掌握Csdn最新动向!