XML属性得到排序

时间:2009-11-16 08:00:41

标签: python xml minidom

当我使用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"/>

如果您想要创建电子邮件/姓名/昵称/照片订单中的属性而不是名称/昵称/电子邮件/照片订单,那么这一切都非常好。

如何让属性按照您创建的顺序显示?或者,你如何控制订单呢?

1 个答案:

答案 0 :(得分:5)

根据documentation,属性的顺序是任意的,但对于DOM的生命是一致的。这在DOM实现中很常见。遗憾。