多态XML序列化/反序列化
问题描述:
我有:
public class B
{
public string Some { get; set; }
}
public class D : B
{
public string More { get; set; }
}
[KnownType(typeof(D))]
public class X
{
public B[] Col { get; set; }
}
我想自动读/写XML的完全一样:
I want to automatically read/write XML exactly like:
<X>
<Col>
<B Some="val1" />
<D Some="val2" More="val3" />
</Col>
</X>
无论是的XmlSerializer
不是的DataContractSerializer
帮助了我。该XML结构是必需的。
Neither XmlSerializer
not DataContractSerializer
helped me. This XML structure is mandatory.
所以,问题是:?才能实现这一目标,或我必须手动解析XML
So question is: can this be achieved or i have to parse that XML manually?
谢谢, 安德烈
答
尝试XmlArrayItem与XmlSerializer的:
Try XmlArrayItem with XmlSerializer:
public class X
{
[XmlArrayItem(typeof(D)),
XmlArrayItem(typeof(B))]
public B[] Col { get; set; }
}