Scal pliki xml z zagnieżdżonymi elementami bez zewnętrznych bibliotek

Próbuję połączyć wiele plików XML razem przy użyciu Pythona i żadnych zewnętrznych bibliotek. Pliki XML mają zagnieżdżone elementy.

Przykładowy plik 1:

<root>
  <element1>textA</element1>
  <elements>
    <nested1>text now</nested1>
  </elements>
</root>

Przykładowy plik 2:

<root>
  <element2>textB</element2>
  <elements>
    <nested1>text after</nested1>
    <nested2>new text</nested2>
  </elements>
</root>

Czego chcę:

<root>
  <element1>textA</element1>    
  <element2>textB</element2>  
  <elements>
    <nested1>text after</nested1>
    <nested2>new text</nested2>
  </elements>  
</root>  

Co próbowałem:

Zta odpowiedź.

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)

Co dostaję:

<root>
  <element1>textA</element1>
  <elements>
    <nested1>text now</nested1>
  </elements>
  <element2>textB</element2>
  <elements>
    <nested1>text after</nested1>
    <nested2>new text</nested2>
  </elements>
</root>

Mam nadzieję, że możecie zobaczyć i zrozumieć mój problem. Szukam właściwego rozwiązania, wszelkie wskazówki byłyby wspaniałe.

Aby wyjaśnić problem, używając obecnego rozwiązania, które mam, elementy zagnieżdżone nie są scalane.

questionAnswers(2)

yourAnswerToTheQuestion