python - lxml: reforçando uma ordem específica para atributos
Eu tenho um script de escrita XML que gera XML para uma ferramenta específica de terceiros.
Eu usei o XML original como um modelo para ter certeza de que estou criando todos os elementos corretos, mas o XML final não aparece como o original.
Eu escrevo os atributos na mesma ordem, mas o lxml está escrevendo-os em sua própria ordem.
Não tenho certeza, mas suspeito que a ferramenta de terceira parte espera que os atributos apareçam em uma ordem específica, e gostaria de resolver esse problema para que eu possa ver se a ordem de atribuição está causando falha ou algo mais.
Elemento de origem:
<FileFormat ID="1" Name="Development Signature" PUID="dev/1" Version="1.0" MIMEType="text/x-test-signature">
Meu script de origem:
sig.fileformat = etree.SubElement(sig.fileformats, "FileFormat", ID = str(db.ID), Name = db.name, PUID="fileSig/{}".format(str(db.ID)), Version = "", MIMEType = "")
Meu XML resultante:
<FileFormat MIMEType="" PUID="fileSig/19" Version="" Name="Printer Info File" ID="19">
Existe uma maneira de restringir a ordem em que estão escritas?