XML将大型对象集合序列化为XML

本文关键字:XML 序列化 集合 对象 大型 | 更新日期: 2023-09-27 18:00:12

序列化大型对象集合的最佳方式是什么
我需要将1000万个集合从数据库序列化为xml。我总是有OutOfMemoryException

你能帮我吗?

XML将大型对象集合序列化为XML

您需要在Read循环中逐个执行此操作。使用XmlTextWriter从DB中读取一个并将其插入XML文件。

下面这样的东西应该适合你的情况。

using (var xml = new XmlTextWriter ("filename", Encoding.UTF8))
{
    xml.WriteStartElement ("container_name");
    var cmd = new SqlCommand ("your query", dbConnection);
    using (var reader = cmd.ExecuteReader ()) 
    {
        while (reader.Read ()) 
        {
            //
            // Read from DB write to xml
            //
        }
    }
    xml.WriteEndElement (); // Close your container
}

有关XmlTextWriter引用,请检查MSDN