内存泄漏使用xml.dom.minidom解析xml

时间:2014-11-06 18:42:45

标签: python xml python-2.7 memory-leaks minidom

我正在使用xml.dom.minidom来解析xml文件,有点像这样:

import xml.dom.minidom as dom

file= open('file.xml')
doc= dom.parse(file)
# SNIP
doc.unlink()

即使在取消链接文档后,内存使用量也只有120 MiB左右。当一个人实际使用该程序时,导致多个xml文件被解析,内存使用率攀升至约300 MiB,这是不可接受的。

我确定内存泄漏不是由我的代码引起的,而是由minidom引起的,因为即使只做

doc= dom.parse(file)
doc.unlink()

产生相同的结果。

我做错了什么,或者这是minidom中的错误?

PS:我更喜欢坚持使用minidom,因为在我的代码中发生了很多的xml解析,我宁愿不完全重写所有这些,但我会这样做如果别无选择。

1 个答案:

答案 0 :(得分:2)

我也在观察与minidom相同的问题!而且我们并不孤单。 请参阅示例here

建议使用其他带有python绑定的XML实现,如