c# XML序列化,我可以序列化列表吗?
本文关键字:序列化 列表 XML 我可以 | 更新日期: 2023-09-27 18:03:12
我正在寻找一个XML序列化解决方案来序列化包含List<T>
的类。阅读MSDN关于System.XML.Serialiation
的文章,它说(大约5/8页)
[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];
编辑:为什么不可能这样做呢?
list的数组为
List<int>[]
所以,你可以安全地序列化
List<int>
后者。序列化List<T>
是很常见的。
可以使用整个类,也可以只使用List:
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);
}