2009-01-27 79 views

回答

2

我想說的好處是你得到了一個更強大的類型,使用起來更方便,而且如果文件中的XML數據對於創建對象無效,類的構造函數將拋出異常,所以你可以免費獲得最少的數據驗證。

+0

Axel,您沒有使用xmlserializer進行模式驗證。默認的反序列化非常快速和令人討厭。如果您需要驗證,則需要先通過先載入模式的XmlValidatingReader來吸取XML。 – Spence 2009-01-27 10:06:22

0

這兩者是非常不同的;但XmlSerializer將始終反序列化整個對象;使用XPath,您可以選擇並選擇。我個人會使用XmlSerializer,儘管 - 很難弄錯。

然而,XPath是一個複雜的野獸,依賴於後端。例如,XmlDocument(可變)的行爲與XPathDocument(只讀,針對查詢進行了優化)的行爲不同。

2

如果您不想編寫樣板代碼,並且您需要檢查XML的ANY值,那麼您不會因爲XSD.exe生成的類而出錯。