2016-08-11 60 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>