Вы всегда можете использовать www.xmlunit.org
В частности использовать систему дифф https://github.com/xmlunit/user-guide/wiki/Comparing-XML
XMLUnit ломается весь процесс сравнения двух частей XML в атомарные части. Каждая такая часть представлена в виде сравнения. A Comparison инкапсулирует тип сравнения, например «имя элемента XML», «количество дочерних узлов» или «значение атрибута» и две части, которые нужно сравнить, - эти две части называются «Подробности» в этом контекст и знать о узлах DOM, которые сравниваются, а также расположение XPath указанных узлов внутри их соответствующих документов и значение WRT для сопоставлений. Для «имени элемента XML» или «количества дочерних узлов» узлы DOM будут узлами элементов, а значениями будут QName/XmlQualifiedName элемента или числа соответственно.
Сравнение только знает, что сравнивается, оно не судит о том, равны ли значения или разные. Это для DifferenceEngine или, скорее, для DifferenceEvaluator.
Разница сочетает сравнение с решением DifferenceEvaluator. В большинстве ситуаций, где объекты Difference являются частью API XMLUnit, предполагается, что сравнение не привело к результату EQUAL, отсюда и название.
Diff - общий результат сравнения двух частей XML, это оболочка вокруг потенциально пустой коллекции Различий.
final String control = "<a><b attr=\"abc\"></b></a>";
final String test = "<a><b attr=\"xyz\"></b></a>";
Diff myDiff = DiffBuilder.compare(Input.fromString(control))
.withTest(Input.fromString(test))
.build();
Assert.assertFalse(myDiff.toString(), myDiff.hasDifferences());
https://github.com/xmlunit/user-guide/wiki/DiffBuilder
Насколько велик этот документ? Я полагаю, слишком большой, чтобы использовать String.Equals? – Chris
@ Chris Принимая во внимание «опрос для этого документа с устройства каждые 10 секунд», возможно, это не проблема. Возможно, есть что-то с сериализацией на устройстве, что он может создавать одни и те же данные, но с дополнительным пробелом и другим порядком элементов, что предотвращает прямые сравнения. –
@EugenePodskal: Это правда. Я предполагал, что документ генерируется одним и тем же, каждый раз, чтобы такие вещи, как пробелы, не изменились, но вы вполне можете быть правы. Иногда, хотя люди действительно упускают из виду простые варианты, поэтому его всегда стоит спросить. – Chris