我使用xml.ElementTree遍历python列表并将其写入树结构中的xml文件。以下是代码,并遵循所需的输出。可以任意1请帮助我!!
import xml.etree.ElementTree as ET
sample = ['germany','India','USA','srilanka']
root = ET.Element("root")
data = ET.SubElement(root, "data")
title = ET.SubElement(data, "country")
for a in sample:
title.text = a
data.append('title')
tree = ET.ElementTree(root)
tree.write("page.xml")
当前输出
- <root>
<data>
<country>srilanka</country>
<country>srilanka</country>
<country>srilanka</country>
<country>srilanka</country>
<country>srilanka</country>
</data>
</root>
Expected output
<root>
<data>
<country>germany</country>
<country>india</country>
<country>usa</country>
<country>srilanka</country>
</data>
</root>
我需要这种方式的输出......帮助我! 提前谢谢!
答案 0 :(得分:0)
问题是,你总是附加相同的元素,它被修改以反映最终值。请注意,append与引用一起使用,而不是像您期望的那样使用快照副本。最简单的修复方法是为每个国家/地区创建一个新的子元素实例。