我有一个XML文档,如下所示:
<MyEntity>
<Vehicles>
<Car />
<Truck />
</Vehicles>
</MyEntity>
我想将其反序列化为以下结构:
public class MyEntity
{
public Vehicle[] Vehicles { get; set; }
}
public class Vehicle {}
public class Car : Vehicle {}
public class Truck : Vehicle {}
是否可以在不必为每种可能的车辆类型使用XmlArrayItem属性装饰MyEntity.Vehicles属性的情况下执行此操作?我可能会在编译时获得我不了解的新型车辆,但在运行时可以发现。
答案 0 :(得分:0)
除了添加属性之外,我能想到的唯一方法是在MyEntity上实现IXmlSerializer并手动处理它。当然,您还需要为不同的车辆类型注册处理程序。