Stačí akorát při zpracování neodstraňovat bílé znaky a zachovat pořadí atributů. Třeba z dom4j by to tak šlo určitě uložit, jenom nevím, zda to umí už standardní XMLWriter, nebo by bylo nutné některé parametry překonfigurovat. Nebo je druhá možnost, udělat to tak, jak se to dělá s ostatními zdrojáky – používat formátovač, který mají nakonfigurovaný všichni stejně.
Xmldiff zachova formatovani patchovaneho xml. Asi nejjednodussi postup. Nactete xml do lxml stromu. Vytvorte kopii a na te provedte upravu. Vytvorte tzv "Edit Scrip" funkci diff_tree a ten aplikujte na soubor funkci patch_file
pripadne muzete edit script vytvorit rucne https://xmldiff.readthedocs.io/en/stable/api.html#the-edit-script