如何解决如何获取1000000条记录并将xml feed写入文件?
| 我想创建一个c#控制台应用程序以获取大约1000000行数据。 在代码中添加一些过滤逻辑并生成xml feed。 我正在使用的那一个工作正常,但对于25万行数据,却超出了内存不足的异常范围。 这是我在Web应用程序中使用的代码示例,需要更改其控制台应用程序并使其高效。var xrFeed = new XmlTextWriter(File.Create(@\"c:\\Items.xml\"),Encoding.UTF8);
xrFeed.WriteStartDocument();
xrFeed.WriteStartElement(\"Name\");
IEnumerable<ItemClass> items = _source.GetItems();
if (items != null)
{
foreach (var i in items)
{
xrFeed.WriteStartElement(\"ad\");
xrFeed.WriteStartElement(\"id\");
xrFeed.WriteCData(m.ListingId.ToString());
xrFeed.WriteEndElement();
xrFeed.WriteStartElement(\"firstParameter\");
xrFeed.WriteCData(\"parameter\");
xrFeed.WriteEndElement();
xrFeed.WriteStartElement(\"secondParameter\");
xrFeed.WriteCData(\"parameter2\");
xrFeed.WriteEndElement();
xrFeed.WriteStartElement(\"thirdParameter\");
xrFeed.WriteCData(\"parameter3\");
xrFeed.WriteEndElement();
xrFeed.WriteEndElement();
}
xrFeed.WriteEndElement();
xrFeed.WriteEndDocument();
xrFeed.Flush();
xrFeed.Close();
Response.End();
DataBind();
}
解决方法
尝试每隔1000个项目冲洗一次写入器。另外,您可能想从数据源中部分检索数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。