我有看起来像这样的 XML:
<root>
<base type="a">
<common>1</common>
<concreteA>one</concreteA>
</base>
<base type="b">
<common>2</common>
<concreteB>two</concreteB>
</base>
</root>
像这样的类:
public class Root
{
public List<Base> Bases { get; set; }
}
public class Base
{
public int Common { get; set; }
}
public class A : Base
{
public string ConcreteA { get; set; }
}
public class B : Base
{
public string ConcreteB { get; set; }
}
如何将其反序列化为对象?我已经看过很多关于如何在每个基本节点使用不同名称时如何做到这一点的帖子XmlArrayItemAttribute( ElementName, Type )]
,但我需要根据 elementstype
属性来选择它。