我在 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