如何使用 ElementTree 复制 python 中的 xml 树?
How to make a copy of xml tree in python using ElementTree?
我正在使用 xml.etree.ElementTree 来解析 xml 文件。我正在按以下方式解析 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>
您可以创建 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>
我正在使用 xml.etree.ElementTree 来解析 xml 文件。我正在按以下方式解析 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>
您可以创建 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>