我有一個XML序列化類的複雜圖表,我可以(de)序列化到硬盤就好了。但是我如何處理巨大的變化到圖模式結構?是否有一些機制來處理XML模式升級?有些類允許我將舊數據遷移到新格式?XML(de)序列化和模式升級
當然我可以使用XmlReader/XmlWriter,遍歷每個節點和屬性並編寫幾千行代碼將數據轉換爲新格式,但也許有更好的方法?
我發現Object graph serialization in .NET and code version upgrades,但我不認爲當有模式的重大變化所鏈接的條款適用。
+1謝謝,XSLT看起來很有希望。但根據http://stackoverflow.com/questions/1525299/xpath-and-xslt-2-0-for-net看來XSLT 2.0尚未在.NET中實現。由於XSLT 1.0已經快13年了,我想知道它是否足夠強大,可以處理複雜的變化。 – Paya 2012-02-10 14:55:00
@Paja由於這是一次性交易,您不需要.NET實現:使用任何可以從命令行運行的XSLT引擎。爲引擎提供你的「腳本」和你的數據,並保存它產生的輸出。我使用了[Saxon](http://www.perfectxml.com/SoftDetails.asp?id=193),但它在11年前就已經很長了;自那時起,更新的引擎就被編寫出來了,你可能想在選擇一個任務之前做一些研究。無可否認,編寫XSLT的學習曲線相對較爲陡峭,但一旦您完成了初步的工作,您將能夠非常快速地編寫大量複雜的轉換。 – dasblinkenlight 2012-02-10 15:03:23
我正在爲最終用戶編寫一個程序,因此需要隨遷移算法一起分發。正因爲如此,直接在.NET框架中的實現將非常棒,因爲我不喜歡使用額外的大型庫來擴展我的設置。 – Paya 2012-02-10 15:10:54