При обработке XML с помощью стандартного DOM порядок атрибутов не гарантируется после сериализации. Наконец, это то, что я только что понял при использовании стандартного java XML Transform API для сериализации вывода.
Однако мне нужно соблюдать порядок. Я хотел бы знать, есть ли какая-либо возможность на Java сохранять исходный порядок атрибутов XML файла, обработанного с помощью DOM API, или любой способ заставить порядок (возможно, используя альтернативный API-интерфейс сериализации, который позволяет вам установить этот вид собственности). В моем случае обработка уменьшает, чтобы изменить значение некоторых атрибутов (не всех) последовательности тех же элементов с кучей атрибутов и, возможно, вставить еще несколько элементов.
Есть ли какой-либо "простой" способ или мне нужно определить мою собственную таблицу стилей преобразования XSLT, чтобы указать вывод и изменить весь входной файл XML?
Обновить Я должен поблагодарить все ваши ответы. Ответ кажется более очевидным, чем я ожидал. Я никогда не обращал внимания на порядок атрибутов, так как раньше я никогда не нуждался.
Основная причина, по которой требуется порядок атрибутов, заключается в том, что полученный XML файл выглядит иначе. Цель - это файл конфигурации, содержащий сотни сигналов тревоги (каждый сигнал тревоги определяется набором атрибутов). Этот файл обычно имеет небольшие модификации с течением времени, но его удобно хранить, поскольку, когда нам нужно что-то изменить, он редактируется вручную. Время от времени некоторые проекты нуждаются в легких модификациях этого файла, например, при установке одного из атрибутов на конкретный клиентский код.
Я только что разработал небольшое приложение для объединения исходного файла (общего для всех проектов) с конкретными частями каждого проекта (измените значение некоторых атрибутов), поэтому файл, зависящий от проекта, получает обновления базового (новые определения сигналов или некоторые исправления атрибутов). Моей главной мотивацией требовать упорядоченных атрибутов является возможность проверить вывод приложения снова на исходный файл с помощью инструмента сравнения текста (например, Winmerge). Если формат (в основном порядок атрибутов) остается неизменным, различия могут быть легко обнаружены.
Я действительно думал, что это возможно, поскольку программы обработки XML, такие как XML Spy, позволяют редактировать файлы XML и применять некоторые упорядочения (режим сетки). Возможно, мой единственный выбор - использовать одну из этих программ для ручной модификации выходного файла.