来自转换结果的Python libxml2 / libxslt unlinkNode会产生内存泄漏

时间:2013-08-30 13:29:11

标签: python memory-leaks libxml2 libxslt

我尝试使用libxslt转换XML,然后将Node与转换结果取消链接,但是我得到了内存异常。 (我知道我可以将xslt转换结果转换为字符串,然后再将其解析为文档,但我需要直接处理结果 - >性能问题。)

我的代码:

# XSLT Transform
doc = libxml2.parseDoc(xml_string)
xsl_file_element = libxml2.parseFile('test.xsl')
xsl_transform = libxslt.parseStylesheetDoc(xsl_file_element)
xml_result_doc = xsl_transform.applyStylesheet(doc, {})    
xsl_transform.freeStylesheet()
doc.freeDoc()

# Unlink Node from XSLT-Transformed result
xml_result_root = xml_result_doc.getRootElement()
xml_result_root.unlinkNode()
xml_result_root.setTreeDoc(None)
xml_result_root.freeNode()
xml_result_doc.freeDoc()

0 个答案:

没有答案