WebサイトとWebサイトフォームの構成に使用される汎用XMLファイルを標準化するPythonスクリプトを作成しようとしています。ただし、これを行うには、要素の元の属性の順序を維持するか、事前定義された方法で要素を再配置できるようにします。現在、私が試したほとんどのxmlパーサーは、属性の順序を英数字に書き直してみました。これらのXMLファイルは人間による読み取り/書き込みおよび保守であるため、これはあまり役に立ちません。
たとえば、一般的な要素はXMLでは次のようになります。
<Question QuestionRef="XXXXX" DataType="Integer" Text="Question Text" Availability="Shown" DefaultAnswer="X">
ただし、elementtreeを通過して新しいファイルに再書き込みされると、これは次のように変更されます。
<Question Availability="Shown" DataType="Integer" DefaultAnswer="X" PartType="X" QuestionRef="XXXXX" Text="Question Text">
スクリプトの目的は、同僚間の読みやすさを向上させるために多数のXMLファイルを標準化することであり、要素の属性に含まれる情報の重要度はさまざまであるため(たとえば、QuestionRefは非常に重要です)、属性が賢明に注文する。
Python dict(属性が格納されている)は当然順序付けられておらず、XML仕様では属性の順序付けは重要ではないと述べていますが、これは人間の可読性の要因がスクリプトの背後にある原動力です。
これに似た他の質問(Stack Overflow)で、pxdomがこれを実行できると述べているのを見ました(質問リンク:link)が、pxdomのドキュメントまたはGoogle検索を使用してこれを実行する方法についての言及は見つかりません。では、属性の順序を維持したり、現在のXMLパーサーで定義したりする方法はありますか?できればホットパッチに頼らずに:)!
誰もが提供できるどんな助けでも大歓迎です:)。