В настоящее время я пытаюсь использовать библиотеку XMLUnit для сравнения двух файлов XML.Один из них, кандидат , генерируется моим кодом из Java Objects (с использованием JAXB), а другой - ссылка (я не могу его изменить).По сути, я пытаюсь доказать, что при наличии эталонного XML-файла я могу десериализовать его (используя Jaxb и некоторые мои собственные классы), затем сериализовать его обратно в другой файл и по-прежнему иметь тот же контент.
Библиотека, похоже,предоставить нужные мне сервисы, но когда сгенерированный файл не имеет правильного отступа (в виде «симпатичной печати»), сравнение завершается неудачно и не происходит, когда отступы в порядке.Например, когда генерируется кандидат , отступа не существует, содержимое является однострочным, если сделать правильный отступ (вручную), сравнение в порядке.
Вот сообщение об ошибкесгенерировано XMLUnit:
[разные] Ожидаемое количество дочерних узлов '3', но было '1'
У вас, ребята, есть идея, чтобы решить эту проблему?Может быть, решение состоит в том, чтобы сгенерировать симпатичную версию кандидата , в этом случае у вас есть идея объединить ее с сериализатором JAXB?
Кстати, если вы сейчаслучшее решение в Java для сравнения XML-файлов, я буду рад узнать его;)
Заранее благодарен за помощь.