如何在加载大型XML文件时解析System.OutOfMemoryException

时间:2011-04-05 01:31:47

标签: c# .net xml winforms

我的程序中有这个代码实际上加载了500 MB及以上的文件。

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(reader);
reader.Close();

我遇到这种错误,不知道如何解决问题。请给我一些建议。

2 个答案:

答案 0 :(得分:4)

我会使用XmlReader来解析文档,提供对数据的唯一访问并在内存中很好地清理自己 - 当然,如果没有{{1的方便性,它可能会复杂得多}。class。

这个简单的示例将首先开始逐行读取文件,为每一行提供一个XmlReader。

XmlDocument

XmlReader Properties (MSDN)

使用XmlReader时,请参阅可用的方法和属性

答案 1 :(得分:0)

你需要像SAX这样的东西但是需要.NET。

http://sourceforge.net/projects/saxdotnet/或XmlReader,基本上是基于流的解析器。

HTH