Python xml ElementTree可以解析一个非常大的xml文件吗?

zha*_*gwf 9 python xml

我正在尝试解析一个大文件(> 2GB)的结构化标记数据,并且内存不足以满足这一要求.这对于这种情况来说,这是XML解析类的最佳方式.更多细节请.

Ste*_*ven 11

检查iterparse()功能.可以在此处找到有关如何使用它来解析非常大的文档的说明.


msw*_*msw 5

大多数DOM库(如ElementTree)在核心中构建整个文档模型.传统上,当您的模型太大而无法同时适应内存时,您需要使用更加面向流的解析器,如xml.sax.

这通常比你预期的要困难,特别是当用于高阶操作时,比如一次处理整个DOM.

您的xml文档是否可能非常简单

<entries>
  <entry>...</entry>
  <entry>...</entry>
</entries>
Run Code Online (Sandbox Code Playgroud)

这将允许您以更Elementatree友好的方式处理数据的子集?