【问题标题】:Preserving XML attribute order?保留 XML 属性顺序?
【发布时间】:2022-01-15 13:52:16
【问题描述】:

我知道过去有人问过这个问题,但它们都是几年前提出的。我想知道是否对 Python 模块(例如 lxml、minidom 或 etree)进行了任何更改,这将允许我们在不打补丁的情况下保留 XML 文件中的属性顺序。

我需要保留订单,因为我提供文件的程序依赖它。

如果没有更新,最简单的实现方法是什么?

【问题讨论】:

标签: python xml lxml elementtree minidom


【解决方案1】:

属性排序的重要性不是在 XML 库的未来实现中要取消的技术限制。

Attribute order is insignificant 每XML Recommendation:

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

因此,您的设计不应基于 XML 中属性的任何特定顺序。

在极少数情况下,应用程序必须对 XML 属性进行排序,请参阅 XML Normalization Recommendation 或 Canonical XML Recommendation 中的 section on attribute processing。

【讨论】:

  • 与库处理属性的方式一致:它们返回一个字典。
  • 嘿,感谢您的链接和答案。不幸的是,我提供给它的程序不是我的,而且它是专有的。这正是我想知道这是否可能的原因。我确实了解 xml 协议及其存储方式。但我只是想知道这个选项是否被实施,考虑到这个问题已经被问了好几次了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
相关资源
最近更新 更多