Porównywanie dwóch ciągów / plików XML w Groovy / Java

Piszę testy jednostkowe do sprawdzenia jakiegoś konstruktora XML.

Teraz natrafiam na problem różnic syntaktycznych między oczekiwanym wynikiem a rzeczywistym wynikiem, pomimo ich identycznej semantyki.

Przykład:

Spodziewany wynik:

<parent><child attr="test attribute">text here</child></parent>

Aktualny rezultat:

<parent>
  <child attr="test attribute">
    text here
  </child>
</parent>

Próbowałem normalizować xml używając XmlUtil.serialize (), jednak wydaje się, że zachowuje białe znaki, pozostawiając różnice składniowe.

Jak mogę uzyskać znormalizowaną / kanoniczną formę ciągów XML, aby moje testy były bardziej niezawodne?

Piszę aplikację Grails, więc dobrze radzę sobie z każdym rozwiązaniem w Groovy lub Java.

questionAnswers(3)

yourAnswerToTheQuestion