Estoy intentando con éxito XmlUnit, y es muy útil en mi trabajo. Ahora, tengo un pequeño problema, que no sé cómo resolver. Tengo una clase Java, que tiene un conjunto, y al transformarlo en XML, los elementos en el interior pueden tener cualquier orden.Comparación de archivos xml similares con XmlUnit con etiquetas desordenadas (mismo nombre de etiqueta con diferentes atributos)
Cuando trato de estos dos archivos en XMLUnit funciona (Dif dice que son similares):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
</AvailableMeasures>
</Monitor>
Pero cuando las etiquetas tienen el mismo nombre (con diferentes atributos) no lo hace funciona (que mezcla los atributos, y esperan que la una en la otra etiqueta):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
¿hay alguna solución?
he encontrado la solución por mí mismo, con esta pieza de código: \t \t Dif diff = new Dif (controlXml, responseXML); \t \t diff.overrideElementQualifier (new ElementNameAndAttributeQualifier()); está hecho;) – greuze
¿puede por favor enviar una respuesta a la pregunta usted mismo y luego aceptar esa respuesta? Además, debe aceptar respuestas a preguntas anteriores si resuelven su problema. – Zecas
Ok, pensé que no podría responder mi propia pregunta. Me responderé a mí mismo ahora. – greuze