已經嘗試使用「.net反序列化xml一個衆多已知對象類型」的各種組合進行搜索......並且沒有找到任何有意義的東西,我現在就在這裏。.net反序列化xml到多個已知對象之一
我得到5個不相關的對象(每個對象可能有不同的架構)中的1個,這些對象可能會發送給我,我需要將該xml反序列化爲正確的對象。當然,對象的數量/類型會增加;-) 有沒有一種方法可以讓反序列化器將xml內容匹配到一個對象,也許反射(只是猜測)?除了xml內容本身之外,我沒有在序列化對象周圍獲得任何外部xml包裝,告訴我它是什麼。這些消息來自不同的系統,通知我一個事件,狀態變化,新訂單,...
我想在這一點上的蠻力,xml讀者尋找唯一匹配我已知的一個識別屬性項目,然後從那裏切換到反序列化使用適當的類型。 這似乎不太優雅。
任何指導理解, ģ
這不適合我。傳遞給XmlSerializer的構造函數的第一個類型參數應該匹配xml的根元素。 – Pradeep
我必須糾正自己。這隻有在串行器和解串器的第一個參數相同時纔有效。例如,如果第一個參數是typeof(Message),那麼這將導致序列化的xml具有一個根元素。如果xml處於預定義模式中,並且您無法控制它,那麼這可能對您無效。 –
Pradeep