XML の解析/解析解除にxmltodictを使用していますが、1 つのドキュメントの処理中に XML 要素の順序を維持する必要があります。おもちゃの REPL の例:
>>> import xmltodict
>>> xml = """
... <root>
... <a />
... <b />
... <a />
... </root>
... """
>>> xmltodict.parse(xml)
OrderedDict([('root', OrderedDict([('a', [None, None]), ('b', None)]))])
>>> xmltodict.unparse(_)
'<?xml version="1.0" encoding="utf-8"?>\n<root><a></a><a></a><b></b></root>'
元のシーケンス[a, b, a]
が に置き換えられることに注意してください[a, a, b]
。で元の順序を保持する方法はありますxmltodict
か?