Метод 1: Используйте XSLT для нормализации документа.
По сути, вы бы использовали XSLT для нормализации документов XML, чтобы эквивалентные документы перешли в один и тот же документ. Преобразование будет:
- Поддерживать порядок элементов
- Порядок атрибутов каждого элемента (например, в алфавитном порядке на основе имени атрибута)
- Удалите пробелы и комментарии
Затем вы проверите контрольную сумму нормализованной версии документа.
Некоторые полезные ссылки:
Метод 2. Использование DOM-парсера
- Использование синтаксического анализатора DOM для создания дерева DOM
- Нормализуйте дерево DOM в соответствии с вашими правилами
- Пройдите по дереву и передайте элементы XML в калькулятор контрольной суммы
Метод 3. Использование парсера SAX или StAX
Если вам не нравится промежуточный этап создания нормализованного документа или дерева DOM, вы можете использовать SAX или StAX для синтаксического анализа XML, чтобы поддерживать / упорядочить / вырезать, как указано выше, на лету и передать каждый элемент / контент / атрибут / значение / и т.д. в калькулятор контрольной суммы.