在这里遇到一些问题。我有一些xml从第三方服务回来,看起来像这样(简化)
<Root>
<Response>
<Record></Record>
</Response>
<Response>
<Record></Record>
</Response>
</Root>
每条记录都有可能成为不同类型的对象,而单条xml消息可能有多个响应
我的课程看起来像这样
public class Response
{
[XmlElement(typeof(DerivedRecord1))]
[XmlElement(typeof(DerivedRecord2))]
public BaseRecord Record { get; set;}
}
public class BaseRecord { }
public class DerivedRecord1 : BaseRecord { }
public class DerivedRecord2 : BaseRecord { }
当我在反序列化后查看Record对象时,它会在两个响应中返回null。
现在,当我在基类上使用XmlInclude元素而不是属性上的XmlElement属性时,Record是基类而不是派生类型。
我在这里做错了什么?