Объединение XML-файлов с вложенными элементами без внешних библиотек
Я пытаюсь объединить несколько файлов XML вместе, используя Python и без внешних библиотек. 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>
Я надеюсь, что вы можете увидеть и понять мою проблему. Я ищу правильное решение, любое руководство было бы замечательно.
Чтобы прояснить проблему, используя имеющееся у меня решение, вложенные элементы не объединяются.