序列化List
本文关键字:出错 Object List 序列化 | 更新日期: 2023-09-27 18:05:58
我有一个List<Object>
,我试图使用XmlSerializer
序列化并保存到磁盘,但这段代码在试图序列化文件时产生错误。
根据我得到的抛出错误消息,我没有看到这里有任何问题,我想我需要一双额外的眼睛。
有谁知道为什么这让我整晚都睡不着吗?:/
我知道列表包含元素,所以类型可能有问题?试过Type[]
,但它给出了同样的问题。
public static void createFileXml(String path)
{
//This creates an error while serializing
XmlSerializer xmlser = new XmlSerializer(typeof(List<Object>));
TextWriter txtwrt = new StreamWriter(path);
try
{
xmlser.Serialize(txtwrt, lstCopy);
}
catch
{
throw;
}
finally
{
if (txtwrt != null)
{
txtwrt.Close();
}
}
}
我有一个通用的serializeobject方法,我写了一会儿。也许它也会对你有帮助。
public static string SerializeObject<T>(T obj)
{
try
{
string xmlString = null;
using (MemoryStream memoryStream = new MemoryStream())
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
UTF8Encoding enc = new UTF8Encoding();
using (StreamWriter writer = new StreamWriter(memoryStream, enc))
{
XmlSerializer xs = new XmlSerializer(typeof(T));
xs.Serialize(writer, obj, ns);
}
xmlString = enc.GetString(memoryStream.ToArray());
return xmlString;
}
}
catch
{
return string.Empty;
}
}
注意:您可能需要根据您的需要进行更改