2016-08-11 97 views
0

我正在使用xml.etree.ElementTree來解析xml文件。我解析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

我已經添加了根標籤。現在好點了嗎? – 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> 
相關問題