2009-05-14 60 views
1

我已經做了一些XML序列化但之前我使用過屬性,我不確定這是否適用於我的下一個任務,下面是XML操作requirementes的簡短列表。XML序列化,在這種情況下,IXmlSerializable或屬性

  • 通用XMl操作,綁定到樹視圖,沒有模式。
  • 加載/保存XML。
  • 加載/保存屬性以及值(我相信該術語是元素文本?),並且要注意節點的名稱。
  • 評論可以忽略爲可文檔信息標記(即UTF-8和架構標籤)

就如何最好地處理這個有什麼建議?

回答

0

我可能不會有一個對象模型和IXmlSerializable麻煩 - 這聽起來像你可能會在一個XmlElement/XmlDocument方面也很好說話 - 即各地傳遞數據的XML塊。既然你沒有模式,那麼把它分解就沒有意義了;你不妨通過一個XML DOM來完成。

當你說樹視圖 - 這是winforms,asp.net,wpf?我相信asp.net treeview可以採用xml源代碼,但對於winforms,您必須自己迭代節點。

+0

不幸的是它是winforms,我更喜歡WPF壽。 – Firoso 2009-05-14 18:42:07

-1

我建議你使用.NET框架支持的簡單XML序列化。

經過這些MSDN文檔

How to Serialize an object

How to Deserialize an object

+0

你能說爲什麼XML序列化會更好地滿足他的需求嗎?可維護性如何? – 2009-07-30 23:42:24

+0

你能告訴我什麼是XMLSerializer的問題?爲什麼你認爲可維護性是一個問題? – 2009-08-04 08:30:32

+1

下來的選民會照顧解釋嗎?我猜你只有在出現問題時才需要投票。不是因爲你不喜歡它。 – 2009-08-04 08:51:11

0

不知道你在說什麼了 「之前,但我使用的屬性」 但我會建議的XmlSerializer太:

  • 「簡單」的課程通常是開箱即用的。
  • 集合可能需要一些更多的工作,但它取決於您的需求和對象結構。
  • XML序列化程序中還有其他內部版本,如XAML或WCF DataContractSerializer。都有優點和缺點。但是如果你想微調你的XML格式,XMLSerializer是最靈活的。
  • 你可以逐步的接近你的格式:如果默認看起來不錯,你就完成了。如果不是,你必須在大多數情況下添加一些屬性。
  • 如果你想完全控制,你仍然可以實現IXmlSerialize來微調你的格式。
  • 一切適用於每個類的基礎:在適當的地方使用默認值,在需要時添加一些屬性並根據需要實現IXmlSerializable。
+0

也許是因爲它與ASMX Web服務的關聯,很少有XML序列化錯誤會被修復。這是生產應用程序的必要考慮因素。 – 2009-07-31 20:21:00