2014-05-13 155 views
1

我正在尋找一個XML序列化解決方案來序列化一個包含List<T>的類。閱讀the MSDN article forSystem.XML.Serialiation它規定(約5/8下頁)C#XML序列化,我可以序列化列表<T>?

[Serialization of ArrayList and Generic List] 
The XmlSerializer cannot serialize or deserialize the following: 
    Arrays of ArrayList 
    Arrays of List<T> 

這是否意味着我不能序列我List<T>或者這是否說我不能序列類似

List<int>[] intArr = new List<int>[10]; 

編輯:爲什麼ISN」有沒有可能這樣做?

+0

你應該能夠序列化列表,我認爲這是爲級聯數據類型 –

+0

這意味着正是它說。 – Jon

回答

1

數組列表的將是

List<int>[] 

所以,你可以放心地連載

List<int> 
1

後者。序列化List<T>非常普遍。

0

您可以使用整個班級,或者只是名單:

static void SerializeToXml<T>(string file, T value) 
{ 
    var serializer = new XmlSerializer(typeof(T)); 
    using (var writer = XmlWriter.Create(file)) 
     serializer.Serialize(writer, value); 
} 

static T DeserializeFromXml<T>(string file) 
{ 
    var serializer = new XmlSerializer(typeof(T)); 
    using (var reader = XmlReader.Create(file)) 
     return (T)serializer.Deserialize(reader); 
}