Python libxml2/ libxslt unlinkNode из преобразованного результата вызывает утечку памяти

Я пытался преобразовать XML с помощью libxslt, а затем отсоединить узел от преобразованного результата, но я получил исключение памяти. (Я знаю, что могу преобразовать преобразованный 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 ответов

Другие вопросы по тегам