Почему эти атрибуты пишутся в обратном порядке? - PullRequest
1 голос
/ 03 июня 2011

Я работаю с QDomElement и QDomDocument для экспорта данных в XML. Когда я делаю это, атрибуты записываются в правильном порядке:

element.setAttribute("xRepeat", xrepeat);
element.setAttribute("yRepeat", yrepeat);

Это выводит что-то вроде xRepeat="3" yRepeat="8". Тогда я попробовал это ...

element.setAttribute("xrepeat", xrepeat);
element.setAttribute("yrepeat", yrepeat);

В результате получается yrepeat="8" xrepeat="3". Есть ли причина, по которой атрибуты теперь записываются в обратном порядке? Я уже выполнил обычную процедуру clean / qmake / build в моей IDE (Qt Creator), чтобы убедиться, что функция компилятора «только перестроить то, что было изменено» не делает ничего странного

Ответы [ 2 ]

1 голос
/ 03 июня 2011

Порядок спецификаций атрибутов в начальном теге или теге пустого элемента не имеет значения. Не полагайтесь на программное обеспечение, которое требует специального заказа.

0 голосов
/ 03 июня 2011

Cat Plus Plus - это правильно.QDomElement использует QHash внизу для хранения атрибутов элемента.QT Doc заявляет, что

В QHash элементы произвольно упорядочены

Когда вы меняете ключ, вы также меняете порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...