序列化List <object> </object>时出错

时间:2013-03-25 12:26:32

标签: c#

我有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();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

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

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