ホーム>source

このようなxmlファイルを作成しようとしています。

<root>
<a type="AAA">
    <value1>1</value1>
    <value2>2</value2>
    <value3>3</value3>
</a>
<b type="BBB">
    <value6>6</value6>
    <value7>7</value7>
    <value8>8</value8>
</b>
</root>

しかし、xml要素を追加しようとすると、次のようになりました。

<root>
<a type="AAA">
    <value1>1</value1>
</a>
<a type="AAA">
    <value2>2</value2>
</a>
<a type="AAA">
    <value3>3</value3>
</a>
<b type="BBB">
    <value6>6</value6>
</b>
<b type="BBB">
    <value7>7</value7>
</b>
<b type="BBB">
    <value8>8</value8>
</b>
</root>

ここにコードがあります。誰かが私にコードを修正する方法を教えてくれますか?

xml = Element("root")
for i in list:
    node = Element("a", type=i.type)
    value = Element(i.name)
    value.text = i.value
    node.append(value)
    xml.append(node)

どうもありがとうございます

あなたの答え
  • 解決した方法 # 1

    forループ内に追加しないでください。 代わりにノードを作成してから、ループにプロパティを追加し、その後ノードをXMLルートに追加します。

    #crete one note before the loop. 
    node = Element("a", type=i.type)
    for i in list:
    
        value = Element(i.name)
        value.text = i.value
        node.append(value)
    xml.append(node) # append here
    
    

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ c++ - tesseractコマンドが機能せず、ファイルエラーが発生する