2009-08-17 51 views
2

我收集的信息從以前的StackOverflow Q & A的一個.NET XML序列化助手類

以下項目可使用XmlSerializer類被序列化:

  • 公共讀/寫性能和公共類
  • 類實現的ICollection或IEnumerable的
  • XmlElement的領域對象
  • XmlNode的Ø bjects
  • DataSet對象

我的問題是,我們如何促進XMLSERIALIZE輔助類,它需要一個泛型集合作爲參數的XML序列化。

+0

@rengaseshan:我強烈建議你閱讀http://stackoverflow.com/editing-help並學習如何使用它。由於使用HTML,您的許多問題難以閱讀。 – 2009-08-17 23:53:19

+0

無法接受並編輯樣式,列表,錯別字。 – 2013-06-12 16:03:27

回答

5
public class XmlSerializationHelper 
{ 
    public static void Serialize<T>(string filename, T obj) 
    { 
     XmlSerializer xs = new XmlSerializer(typeof(T)); 
     using (StreamWriter wr = new StreamWriter(filename)) 
     { 
      xs.Serialize(wr, obj); 
     } 
    } 

    public static T Deserialize<T>(string filename) 
    { 
     XmlSerializer xs = new XmlSerializer(typeof(T)); 
     using (StreamReader rd = new StreamReader(filename)) 
     { 
      return (T)xs.Deserialize(rd); 
     } 
    } 
} 

(它不是專門爲泛型集合,它可以用於任何XML序列化對象)

我不知道如果這就是你要找的人......如果不是,請詳細說一下你需要

+0

這就是我正在尋找的!非常感謝你。 – user146584 2009-08-17 13:29:27

+1

這不適用於字典。 – Will 2009-08-17 13:59:21

+2

@ will:這就是爲什麼我說「any ** XML-serializable ** object」...字典不是XML可序列化的(除非它實現IXmlSerializable,請參閱此鏈接:http://weblogs.asp.net/pwelter34/ archive/2006/05/03/444961.aspx) – 2009-08-17 14:37:26