序列化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();
        }
    }
}

序列化List<Object>时出错

我有一个通用的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;
    }
}

注意:您可能需要根据您的需要进行更改