我想从一个文件中加载XML模板,修改它,并将结果保存为一个新的文件并进行格式化。然而,美化打印并没有添加所需的格式。堆栈上的其他解决方案是针对树被写回到同一文件的情况,而不是新文件。例如:
最初的回答:
from lxml import etree as ET
parser = ET.XMLParser(remove_blank_text=True)
tree = ET.parse("template.xml", parser)
root = tree.getroot()
A = ET.SubElement(root, "A")
ET.SubElement(A, "a")
B = ET.SubElement(root, "B")
ET.SubElement(B, "b")
tree.write("output.xml", pretty_print=True)
template.xml
<document>
</document>
output.xml是未经格式化的写入文件。
<document>
<A><a/></A><B><b/></B></document>