python - lxml: wymuszanie określonej kolejności atrybutów

Mam skrypt do pisania w języku XML, który generuje XML dla określonego narzędzia innej firmy.

Użyłem oryginalnego XML jako szablonu, aby upewnić się, że buduję wszystkie poprawne elementy, ale ostateczny XML nie wygląda jak oryginał.

Piszę atrybuty w tej samej kolejności, ale lxml zapisuje je we własnej kolejności.

Nie jestem pewien, ale podejrzewam, że narzędzie trzeciej części oczekuje, że atrybuty pojawią się w określonej kolejności, a ja chciałbym rozwiązać ten problem, aby zobaczyć, czy jego atrybuty porządkują niepowodzenie, czy coś innego.

Element źródłowy:

<FileFormat ID="1" Name="Development Signature" PUID="dev/1" Version="1.0" MIMEType="text/x-test-signature"> 

Mój skrypt źródłowy:

sig.fileformat = etree.SubElement(sig.fileformats, "FileFormat", ID = str(db.ID), Name = db.name, PUID="fileSig/{}".format(str(db.ID)), Version = "", MIMEType = "")

Mój wynikowy XML:

<FileFormat MIMEType="" PUID="fileSig/19" Version="" Name="Printer Info File" ID="19">

Czy istnieje sposób na ograniczenie kolejności, w jakiej zostały napisane?

questionAnswers(3)

yourAnswerToTheQuestion