Comparando dos cadenas / archivos XML en Groovy / Java
Estoy escribiendo pruebas unitarias para verificar algunos constructores de XML.
Ahora me estoy topando con el problema de las diferencias sintácticas entre el resultado esperado y el resultado real, a pesar de su semántica idéntica.
Ejemplo:
Resultado Esperado:
<parent><child attr="test attribute">text here</child></parent>
Resultado actual:
<parent>
<child attr="test attribute">
text here
</child>
</parent>
Intenté normalizar el xml usando XmlUtil.serialize (), sin embargo, esto parece mantener los espacios en blanco, dejando diferencias sintácticas.
¿Cómo puedo obtener la forma normalizada / canónica de cadenas xml para que mis pruebas sean más sólidas?
Estoy escribiendo una aplicación de Grails, así que estoy de acuerdo con cualquier solución en Groovy o Java.