我正在使用Python elemntTree,以便将几个xml文件合并为一个。 这是我为此编写的代码:
xml_files = glob.glob('*_to_merge.xml')
xml_element_tree = None
for xml_file in xml_files:
data = ElementTree.parse(xml_file).getroot()
for result in data.iter('root'):
if xml_element_tree is None:
xml_element_tree = data
insertion_point = xml_element_tree.findall("./insert")[0]
else:
insertion_point.extend(result)
op_res = ElementTree.tostring(xml_element_tree).decode("utf-8")
file = 'merged.xml'
with open(file, 'w') as outfile:
outfile.write(op_res)
我得到的文件确实包含所有要合并的文件。问题是它们包含处理指令<? ….. ?>
,但不幸的是不再出现在结果xml中。因此它们已被忽略/从代码中删除。
谁能帮助我找到一种在不丢失处理说明的情况下合并我的文件的方法。
谢谢。