我已经简化了这样的目标xml:
<workflow>
<tasks>
...
</tasks>
</workflow>
然后我有带有元素的源xml:
<task>
<description>description</description>
<name>test task 1</name>
<sysID>410d6c0bc0a8</sysID>
<type>Windows</type>
<version>2</version>
</task>
<task>
<description>description</description>
<name>test task 2</name>
<sysID>410d6880c0a8</sysID>
<type>Windows</type>
<version>9</version>
</task>
有人会建议我,从源文件向目标文件中的任务插入任务的最佳方法是什么?
我要做的是像这样组成整个xml文件。
答案 0 :(得分:1)
这里
import xml.etree.ElementTree as ET
src_tree = ET.parse('src.xml')
src_tasks = src_tree.findall('.//task')
target_tree = ET.parse('target.xml')
target_tasks_root = target_tree.find('.//tasks')
for src_task in src_tasks:
target_tasks_root.append(src_task)
ET.dump(target_tree)
src.xml
<tasks>
<task>
<description>description</description>
<name>test task 1</name>
<sysID>410d6c0bc0a8</sysID>
<type>Windows</type>
<version>2</version>
</task>
<task>
<description>description</description>
<name>test task 2</name>
<sysID>410d6880c0a8</sysID>
<type>Windows</type>
<version>9</version>
</task>
</tasks>
target.xml
<workflow>
<tasks>
</tasks>
</workflow>
输出
<workflow>
<tasks>
<task>
<description>description</description>
<name>test task 1</name>
<sysID>410d6c0bc0a8</sysID>
<type>Windows</type>
<version>2</version>
</task>
<task>
<description>description</description>
<name>test task 2</name>
<sysID>410d6880c0a8</sysID>
<type>Windows</type>
<version>9</version>
</task>
</tasks>
</workflow>