我目前正在尝试将XML表架构添加到API feed输出并将其保存到数据库。但是,当尝试转换提要时,我不断收到错误消息:
System.Xml.dll中发生了类型为'System.OutOfMemoryException'的未处理的异常
以下代码:
private XElement DataTableToXElement(DataTable dt)
{
XDocument xmlDoc = new XDocument();
using (XmlWriter w = xmlDoc.CreateWriter())
{
dt.WriteXml(w, System.Data.XmlWriteMode.WriteSchema); //fails on this line.
w.Flush();
w.Close();
}
return xmlDoc.Root;
}
要执行上述代码,代码如下:
DataTableToXElement(DocsReponse.Payload);
该代码适用于小型API提要,但在较大的API提要上会出现错误,例如1 GB以上。另外,该项目无法以64位编译,因此这不是一个选择。
是否可以解决上面代码中的内存不足错误,还是应该以不同的方式实现?