我想将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;
}
答案 0 :(得分:0)
如果流量很大,我认为您应该首先考虑序列化到文件。序列化占用了大量内存,纯粹在内存中这样做会让你感到害怕。
using(var file = new FileStream(...))
using(var streamWriter = new StreamWriter(file))
{
xmlWriter.Serialize(streamWriter, obj);
}