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を実行しています