xml元素树:无法获得预期的输出

时间:2013-04-29 07:47:31

标签: xml parsing python-2.7 elementtree

我使用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>

我需要这种方式的输出......帮助我! 提前谢谢!

1 个答案:

答案 0 :(得分:0)

问题是,你总是附加相同的元素,它被修改以反映最终值。请注意,append与引用一起使用,而不是像您期望的那样使用快照副本。最简单的修复方法是为每个国家/地区创建一个新的子元素实例。