0
中規模のXMLファイルを作成するために以下のコードを記述しました。ここではループ内にノードを作成します。Pythonを使用してXMLに新しいノードを追加します。
import xml.etree.cElementTree as ET
number = 0
def xml_write(number,doc):
ET.SubElement(doc, "extra-TextID", used="true").text = ""+str(number) ##in each loop number will be changed from 0 to 9
while number != 10:
doc = ET.Element("message")
xml_write(number,doc)
tree = ET.ElementTree(doc)
tree.write('XML_file.xml')
number = number + 1
しかし、上記のコードを実行すると、最後のノード、つまり最後の行に "9"が表示されます。ファイル内のデータが置き換えられています。各ノードに0〜9を含むすべてのノードを取得するように、それを追加する方法。 ElementTreeのライブラリは、複数のルート要素とXMLをダンプしません
<?xml version="1.0"?>
-<message>
<source>Rain</source>
<translations language="Dev">Cyclone</translations>
<extra-TextID used="true">0</extra-TextID>
<message>
<?xml version="1.0"?>
-<message>
<source>Rain</source>
<translations language="Dev">Cyclone</translations>
<extra-TextID used="true">1</extra-TextID>
<message>
<?xml version="1.0"?>
-<message>
<source>Rain</source>
<translations language="Dev">Cyclone</translations>
<extra-TextID used="true">3</extra-TextID>
<message>
.
.
.
<?xml version="1.0"?>
-<message>
<source>Rain</source>
<translations language="Dev">Cyclone</translations>
<extra-TextID used="true">9</extra-TextID>
<message>
ありがとうございました。 – Ghost