C# 在asp.net c中将datatable转换为包含15k条记录的xml#

C# 在asp.net c中将datatable转换为包含15k条记录的xml#,c#,asp.net,C#,Asp.net,我在datatable中有15k条记录,无法将datatable转换为xml,从而导致asp.net c#中出现内存异常 如果.net版本允许,可以尝试使用此方法DataTable.WriteXml DataSet ds = new DataSet(); DataTable customerTable = GetCustomers(); DataTable orderTable = GetOrders(); ds.Tables.Add(customerTable); ds.Tables.Add

我在datatable中有15k条记录,无法将datatable转换为xml,从而导致asp.net c#中出现内存异常


如果.net版本允许,可以尝试使用此方法DataTable.WriteXml

DataSet ds = new DataSet();
DataTable customerTable = GetCustomers();
DataTable orderTable = GetOrders();

ds.Tables.Add(customerTable);
ds.Tables.Add(orderTable);
ds.Relations.Add("CustomerOrder",
    new DataColumn[] { customerTable.Columns[0] },
    new DataColumn[] { orderTable.Columns[1] }, true);

System.IO.StringWriter writer = new System.IO.StringWriter();
customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);

请提供您的问题的示例代码。XmlDocument xmlDoc=new XmlDocument();使用(MemoryStream MemoryStream=new MemoryStream()){using(TextWriter streamWriter=new streamWriter(MemoryStream)){XmlSerializer XmlSerializer=new XmlSerializer(typeof(DataTable));XmlSerializer.Serialize(streamWriter,dt);if(MemoryStream.Position>0){memoryStream.Position=0;}xmlDoc.Load(memoryStream);}}}这是否回答了您的问题?我缺少的代码是,它在xmlSerializer.Serialize(streamWriter,dt)上引发异常;行。正在序列化多少条记录?看起来您正试图将大量数据序列化到MemoryStream中,结果导致内存不足。如何将writer加载到xml文档中。请给出相关示例
DataSet ds = new DataSet();
DataTable customerTable = GetCustomers();
DataTable orderTable = GetOrders();

ds.Tables.Add(customerTable);
ds.Tables.Add(orderTable);
ds.Relations.Add("CustomerOrder",
    new DataColumn[] { customerTable.Columns[0] },
    new DataColumn[] { orderTable.Columns[1] }, true);

System.IO.StringWriter writer = new System.IO.StringWriter();
customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);