当我使用 minidom 创建文档时,属性在元素中按字母顺序排序。以 here 中的这个例子为例:
from xml.dom import minidom
# New document
xml = minidom.Document()
# Creates user element
userElem = xml.createElement("user")
# Set attributes to user element
userElem.setAttribute("name", "Sergio Oliveira")
userElem.setAttribute("nickname", "seocam")
userElem.setAttribute("email", "seocam@taboca.com")
userElem.setAttribute("photo","seocam.png")
# Append user element in xml document
xml.appendChild(userElem)
# Print the xml code
print xml.toprettyxml()
结果是这样的:
<?xml version="1.0" ?>
<user email="seocam@taboca.com" name="Sergio Oliveira" nickname="seocam" photo="seocam.png"/>
如果您希望属性按电子邮件/姓名/昵称/照片顺序而不是按创建时的姓名/昵称/电子邮件/照片顺序排列,那么这一切都很好。
如何让属性按照您创建它们的顺序显示?或者,您如何控制顺序?
最佳答案
根据documentation ,属性的顺序是任意的,但在 DOM 的生命周期内是一致的。这在 DOM 实现中很常见。对不起。
关于python - XML 属性得到排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1740731/