Mesclar arquivos xml com elementos aninhados sem bibliotecas externas
Eu estou tentando mesclar vários arquivos XML juntos usando Python e não há bibliotecas externas. Os arquivos XML possuem elementos aninhados.
Arquivo de Amostra 1:
<root>
<element1>textA</element1>
<elements>
<nested1>text now</nested1>
</elements>
</root>
Arquivo de Amostra 2:
<root>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
O que eu quero:
<root>
<element1>textA</element1>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
O que eu tentei:
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)
O que eu ganho:
<root>
<element1>textA</element1>
<elements>
<nested1>text now</nested1>
</elements>
<element2>textB</element2>
<elements>
<nested1>text after</nested1>
<nested2>new text</nested2>
</elements>
</root>
Espero que você possa ver e entender o meu problema. Eu estou procurando uma solução adequada, qualquer orientação seria maravilhosa.
Para esclarecer o problema, usando a solução atual que tenho, os elementos aninhados não são mesclados.