2016-08-11 7 views
0

私はXMLファイルを解析するためにxml.etree.ElementTreeを使用しています。私は、次のようにXMLファイルを解析しています:ElementTreeを使ってPythonでXMLツリーのコピーを作成するには?

import xml.etree.ElementTree as ET 
tree = ET.parse(options.xmlfile) 
root = tree.getroot() 

これは私のxmlファイルです:

<rootElement> 
    <member> 
     <member_id>439854395435</member_id> 
    </member> 
</rootElement> 

その後、私はそれを保存しています:

tree.write(options.outcsvfile) 

はどのようにして作ることができます私の木のコピーは次のようなものを作ります:

<rootElement> 
    <member> 
     <member_id>439854395435</member_id> 
    </member> 
    <member> 
     <member_id>439854395435</member_id> 
    </member> 
</rootElement> 
+1

このようなコピーは、整形式のXMLではありません。ルートタグが必要です。お知らせ下さい。 – Parfait

+0

私はrootタグを追加しました。今はいいですか? – user1209304

答えて

2

member要素のコピーを作成して追加することができます。例:

import xml.etree.ElementTree as ET 
import copy 

tree = ET.parse("test.xml") 
root = tree.getroot() 

# Find element to copy 
member1 = tree.find("member") 

# Create a copy 
member2 = copy.deepcopy(member1) 

# Append the copy 
root.append(member2) 

print ET.tostring(root) 

出力:

<rootElement> 
    <member> 
     <member_id>439854395435</member_id> 
    </member> 
<member> 
     <member_id>439854395435</member_id> 
    </member> 
</rootElement> 
関連する問題