lxml:编写增量的漂亮打印xml

时间:2019-05-06 07:40:17

标签: python-2.7 lxml

我正在处理非常大的XML文件(> 1GB),并且需要一种增量写入它们的方法。

只有一个顶级元素和数千个大型第二元素(每个元素都有自己的多层次结构)。 我尝试过:

from lxml import etree
with etree.xmlfile(out_file_name, encoding = 'UTF-8') as xf:
xf.write_declaration()

  with xf.element('top'):
  xf.write('\n')

  # parse individual input files and write the 2nd level element to the output 
  for file_name in file_list:
    context = etree.iterparse(file_name, tag='my_2nd_level_tag', remove_blank_text = True)
    for _, elem in context:
      xf.write(elem, pretty_print=True))

结果是'top'元素的缩进与第二级元素相同()。

我正在寻找一种干净的方法来使用lxml的增量XML写入来生成完全缩进的XML。

0 个答案:

没有答案