2

我在 python 中使用 XML 文档来跟踪用户信息。我在 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

4

1 回答 1

3

您需要将输出写回文件:

tree.write('output.xml')
于 2013-04-26T02:22:19.913 回答