我有一個模式的XSD文件,用於定義從遠程客戶端向我的應用程序發送值的XML接口。現在,XSD有簡單的說3個要素。XSD向後兼容性
因此,爲了在C#中對此進行序列化和反序列化,我可以使用工具xsd.exe生成C#類並使用這些類對XSD進行序列化和反序列化。
這可以工作,但可以說我創建了XSD的新版本,並且新的第四個元素用於啓用某些服務器端功能,如果爲新的遠程客戶端指定此元素,但我仍然要支持舊的XSD(不想或可以更改舊的遠程客戶端的軟件),但是從新的XSD生成的新類不會與舊的XSD中的舊XML兼容。
我想我可以直接用XDocument或類似的方法讀取XML,但是我希望只接受可以針對XSD驗證的XML的功能(然後根據哪個XSD版本進行服務器端決策它證實了)。這是由於客戶關係問題。
解決此問題的最佳做法是什麼?