已经尝试使用“.net反序列化xml一个众多已知对象类型”的各种组合进行搜索......并且没有找到任何有意义的东西,我现在就在这里。.net反序列化xml到多个已知对象之一
我得到5个不相关的对象(每个对象可能有不同的架构)中的1个,这些对象可能会发送给我,我需要将该xml反序列化为正确的对象。当然,对象的数量/类型会增加;-) 有没有一种方法可以让反序列化器将xml内容匹配到一个对象,也许反射(只是猜测)?除了xml内容本身之外,我没有在序列化对象周围获得任何外部xml包装,告诉我它是什么。这些消息来自不同的系统,通知我一个事件,状态变化,新订单,...
我想在这一点上的蛮力,xml读者寻找唯一匹配我已知的一个识别属性项目,然后从那里切换到反序列化使用适当的类型。 这似乎不太优雅。
任何指导理解, ģ
这不适合我。传递给XmlSerializer的构造函数的第一个类型参数应该匹配xml的根元素。 – Pradeep
我必须纠正自己。这只有在串行器和解串器的第一个参数相同时才有效。例如,如果第一个参数是typeof(Message),那么这将导致序列化的xml具有一个根元素。如果xml处于预定义模式中,并且您无法控制它,那么这可能对您无效。 –
Pradeep