gpt4 book ai didi

python - 使用 minidom 修改时保留属性顺序

转载 作者:太空狗 更新时间:2023-10-29 17:55:43 33 4
gpt4 key购买 nike

在使用 minidom 处理 XML 时,有没有一种方法可以保留属性的原始顺序?

假设我有:<color red="255" green="255" blue="233" />当我用 minidom 修改它时,属性按字母顺序重新排列为蓝色、绿色和红色。我想保留原始订单。

我正在通过遍历 elements = doc.getElementsByTagName('color') 返回的元素来处理文件然后我做这样的作业 e.attributes["red"].value = "233" .

最佳答案

为了保持属性顺序,我在 minidom 中做了这个轻微的修改:

from collections import OrderedDict

在元素类中:

__init__(...)
self._attrs = OrderedDict()
#self._attrs = {}
writexml(...)
#a_names.sort()

现在这只适用于 Python 2.7+而且我不确定它是否真的有效 => 使用风险自负......

请注意,您不应依赖属性顺序:

请注意,开始标记或空元素标记中属性规范的顺序并不重要。

关于python - 使用 minidom 修改时保留属性顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/662624/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com