Fre*_*ick 11 python xml minidom
有没有办法在使用minidom处理XML时保留属性的原始顺序?
说我有:<color red="255" green="255" blue="233" />
当我用minidom修改它时,属性按字母顺序重新排列为蓝色,绿色和红色.我想保留原始订单.
我通过循环返回的元素处理文件elements = doc.getElementsByTagName('color')
然后我做这样的分配e.attributes["red"].value = "233"
.
小智 10
为了保持属性顺序,我在minidom中稍作修改:
from collections import OrderedDict
Run Code Online (Sandbox Code Playgroud)
在Element类中:
__init__(...)
self._attrs = OrderedDict()
#self._attrs = {}
writexml(...)
#a_names.sort()
Run Code Online (Sandbox Code Playgroud)
现在这只适用于Python 2.7+并且我不确定它是否真的有效=>使用风险......
请注意,您不应该依赖属性顺序:
请注意,start-tag或empty-element标记中的属性规范的顺序并不重要.
归档时间: |
|
查看次数: |
6527 次 |
最近记录: |