Vergleichen von zwei XML-Zeichenfolgen / -Dateien in Groovy / Java

Ich schreibe Unit-Tests zur Überprüfung einiger XML-Builder.

Jetzt stoße ich auf das Problem syntaktischer Unterschiede zwischen dem erwarteten und dem tatsächlichen Ergebnis, trotz ihrer identischen Semantik.

Beispiel:

Erwartetes Ergebnis:

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

Tatsächliche Ergebnis:

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

Ich habe versucht, die XML-Datei mit XmlUtil.serialize () zu normalisieren. Dabei wurden jedoch die Leerzeichen beibehalten, sodass syntaktische Unterschiede bestehen blieben.

Wie kann ich die normalisierte / kanonische Form von XML-Strings erhalten, um meine Tests robuster zu machen?

Ich schreibe eine Grails-Anwendung, daher bin ich mit jeder Lösung in Groovy oder Java einverstanden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage