我正在尝试使用 Python 而没有外部库将多个 XML 文件合并在一起。XML 文件具有嵌套元素。
示例文件 1:
<root>
<element1>textA</element1>
<elements>
<nested1>text now</nested1>
</elements>
</root>
示例文件 2:
<root>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
我想要的是:
<root>
<element1>textA</element1>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
我试过的:
从这个答案。
from xml.etree import ElementTree as et
def combine_xml(files):
first = None
for filename in files:
data = et.parse(filename).getroot()
if first is None:
first = data
else:
first.extend(data)
if first is not None:
return et.tostring(first)
我得到什么:
<root>
<element1>textA</element1>
<elements>
<nested1>text now</nested1>
</elements>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
我希望你能看到并理解我的问题。我正在寻找一个合适的解决方案,任何指导都会很棒。
为了澄清问题,使用我拥有的当前解决方案,嵌套元素不会合并。