Код: Выделить всё
var xml1 = """
""";
var xml2 = """
""";
Для этого я использую XMLUnit
Вот тестовый код:
Код: Выделить всё
assertThat(xml1, isSimilarTo(xml2)
.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText)));
Код: Выделить всё
assertThat(xml1, isSimilarTo(xml2)
.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndAllAttributes)));
Я нашел статью, в которой обсуждается та же проблема:
https://www.insystems.nl/blog/testing-for- равенство-xml-файлов-с-различным-порядком-вложенных-элементов/
Но решение предполагает знание структуры XML.
Может быть другой подход - переупорядочить/сортировать элементы в обоих XML-файлах одинаково, а затем сравнить? Если да, есть ли библиотеки, которые это делают? Я пробовал это
https://stackoverflow.com/a/68798089/971355, но это тоже не помогло (похоже, сортирует элементы не на всех уровнях)
Подробнее здесь: https://stackoverflow.com/questions/792 ... ment-order
Мобильная версия