我正在使用expat解析器解析一个大约15 GB的XML文件。问题是它抛出一个“内存不足”错误,程序中止。
我想知道有没有什么机构遇到过类似的问题,或者它是一个已知的bug,并在后来的版本中得到了纠正?
发布于 2009-03-18 12:49:28
我以前使用expat解析过大文件,从来没有遇到过任何问题。我假设您使用的是SAX,而不是expat DOM包装器。如果您使用的是DOM,那么这就是您的问题所在--它本质上是试图将整个文件加载到内存中。
您是否在解析XML时分配对象,而不是释放它们?这将是我要检查的第一件事。检查问题是否真的与expat有关的一种方法是-如果您将程序简化为具有空标记处理程序的简单版本(即,它只解析文件,而不对结果做任何操作),它仍然会耗尽内存吗?
https://stackoverflow.com/questions/658016
复制相似问题