我将在Python中循环遍历字符串列表来编写多个XML文件。
假设我有:
from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring
parent = Element('parent')
child = SubElement(parent, 'child')
f = open('file.xml', 'w')
document = ElementTree(parent)
l = ['a', 'b', 'c']
for ch in l:
child.text = ch
document.write(f, encoding='utf-8', xml_declaration=True)
输出结果:
<?xml version='1.0' encoding='utf-8'?>
<parent><child>a</child></parent><?xml version='1.0' encoding='utf-8'?>
<parent><child>b</child></parent><?xml version='1.0' encoding='utf-8'?>
<parent><child>c</child></parent>
期望的输出:
<?xml version='1.0' encoding='utf-8'?>
<parent>
<child>a</child>
<child>b</child>
<child>c</child>
</parent>
我只希望在文件顶部出现一次xml声明。可能应该在循环之前将声明写入文件,但是当我尝试这样做时,会得到空元素。我不想这样做:
f.write('<?xml version='1.0' encoding='utf-8'?>')
如何将xml声明写入文件? 编辑:期望输出