我正在使用xmltodict进行 XML 解析/反解析,并且我需要在处理一个文档时保留 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
吗?