2010-07-06 2 views
3

При написании в Java следующее:Настройка порядка атрибута при написании XML-элемента

Element fieldEl = targetDocument.createElement("field"); 
fieldEl.setAttribute("Wine","Marlo"); 
fieldEl.setAttribute("Beer","Corona"); 

Порядок добавления атрибутов не сохраняются в файле XML результат.
Как я могу контролировать порядок атрибута внутри XML-элемента (так что человеку будет легко читать ...)?

ответ

4

Там нет для узлов атрибутов не определен порядок в соответствии с DOM standard:

Объекты, реализующие интерфейс NamedNodeMap используются для представления коллекции узлов, которые могут быть доступны по имени. Обратите внимание, что NamedNodeMap не наследуется от NodeList; NamedNodeMaps не поддерживаются в каком-либо конкретном порядке. Объекты, содержащиеся в объекте, реализующем NamedNodeMap, также могут быть доступны по порядковому индексу, но это просто разрешить удобное перечисление содержимого NamedNodeMap и не означает, что DOM определяет порядок для этих узлов.

(подчеркивание добавлено), и ни в XML standard:

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

Я не думаю, что многие реализации DOM поддерживают упорядочивание атрибутов вообще. Вам нужно будет написать свой собственный механизм сериализации, чтобы добиться упорядочения (каламбур не предназначен).

+0

это pitty ... – Spiderman

+0

нет, это xml стандарт. Если вы хотите упорядоченные значения, поместите свою информацию в элементы. –

Смежные вопросы