Quero mesclar dois arquivos xml usando Python:
Arquivo1.xml
<?xml version='1.0' encoding='ASCII'?>
<MyData>
<Elements>
<Element>
<ElementID>15</ElementID>
</Element>
</Elements>
</MyData>
E File2.xml
<?xml version='1.0' encoding='ASCII'?>
<MyData>
<Elements>
<Element>
<ElementID>16</ElementID>
</Element>
</Elements>
</MyData>
Posso usar a abordagem sugerida nesta postagem do Medium :
import xml.etree.ElementTree as ET
tree1 = ET.parse('File1.xml')
tree2 = ET.parse('File2.xml')
root1 = tree1.getroot()
root2 = tree2.getroot()
root1.extend(root2)
tree1.write('merged_files.xml')
Isso retorna:
<MyData>
<Elements>
<Element>
<ElementID>15</ElementID>
</Element>
</Elements>
<Elements>
<Element>
<ElementID>16</ElementID>
</Element>
</Elements>
</MyData>
Mas como posso mesclar arquivos em um determinado "nível", por exemplo, Elementos?
Gostaria de obter:
<MyData>
<Elements>
<Element>
<ElementID>15</ElementID>
</Element>
<Element>
<ElementID>16</ElementID>
</Element>
</Elements>
</MyData>
Eu encontrei um método que está encontrando a tag Elements do primeiro xml e anexando todos os filhos dos dados do segundo xml Elements a ela
Espero que isso seja útil
Estendendo
Elements
o primeiro arquivo com tudoElement
do segundo arquivo