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 に答える