Атрибуты XML сортируются - PullRequest
6 голосов
/ 16 ноября 2009

Когда я создаю документ с использованием минидома, атрибуты сортируются в элементе по алфавиту. Возьмите этот пример из здесь :

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 Ответ

5 голосов
/ 16 ноября 2009

Согласно документации , порядок атрибутов является произвольным, но постоянным в течение срока службы DOM. Это распространено среди реализаций DOM. К сожалению.

...