60mb文件的Xml序列化问题

时间:2009-09-02 14:43:42

标签: c#

我想将60mb文件序列化为XML,但它给了我系统内存不足的异常。 有没有其他人有这种问题?

有人可以建议我解决这个问题。

这是方法

   static public string Serialize(object obj)
   {
          string returnValue;
          System.Xml.Serialization.XmlSerializer xmlWriter = new System.Xml.Serialization.XmlSerializer(obj.GetType());
          System.IO.StringWriter xmlOut = new System.IO.StringWriter();

          //this is where the problem is.....
          xmlWriter.Serialize(xmlOut, obj);
          //return the Serialized XML
          returnValue = xmlOut.ToString();
          xmlOut.Close();
          return returnValue;
   }

1 个答案:

答案 0 :(得分:0)

如果流量很大,我认为您应该首先考虑序列化到文件。序列化占用了大量内存,纯粹在内存中这样做会让你感到害怕。

using(var file = new FileStream(...))
using(var streamWriter = new StreamWriter(file))
{
    xmlWriter.Serialize(streamWriter, obj);
}