我正在使用XML文档来跟踪python中的用户信息。我在IDLE中做了一些测试,但由于某种原因,XML没有被编辑。我查看了所有的python文档,我根本找不到问题。这就是我输入的内容:
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('./usrData.xml')
>>> root = tree.getroot()
>>> root.tag
meritTracker
直到这一部分,一切正常。我知道它读了正确的文件,因为它显示了正确的标签。但那时:
>>>newElement = ET.Element('Name')
>>>ET.SubElement(root, newElement)
<Element <Element 'Name' at 0x1022119f0> at 0x102211a48>
XML Doc根本不会改变。 然后我重置了IDLE,并做了这个:
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('./usrData.xml')
>>> root = tree.getroot()
>>> root.tag
meritTracker
>>>newElement = ET.Element('Name')
>>>root.append(newElement)
>>>root.getchildren()
仍然没有。 然后我试了很长时间:
>>> file = open('./usrData.xml','r+')
>>> tree = ET.parse(file)
>>> root = tree.getroot()
>>> root.append(ET.Element('Name'))
>>> root.getchildren()
[<Element 'Name' at 0x101756680>]
但是,XML仍然没有改变!我怎样才能解决这个问题?
注意:我在Mac OS X 10.8上运行Python 3.3
答案 0 :(得分:3)
您需要将输出写回文件:
tree.write('output.xml')