Sfortunatamente, non esiste una soluzione valida per questo problema. La diffusione di XML è molto sensibile a ciò che consideri diverso. In un caso l'ordine dei nodi figli potrebbe essere importante, e in un altro caso (forse anche nello stesso file) potrebbe essere irrilevante.
Dai uno sguardo allo XMLUnit. Sebbene sia finalizzato al test unitario, è un motore di differenziazione XML completo. Devi dire (nel codice) come determinare che due nodi sono idonei per il confronto, e quindi cosa fare con tutte le potenziali differenze riscontrate (cioè sono reali o meno, nella tua applicazione). Si rileva un elenco esaustivo di "eventi differenza", tra cui
- ordine attributo
- numero di attributi
- Bambino ordine nodo
- numero di nodi figli
- implicita vs attributo esplicito Valori
- commento differenze
- differenze DOCTYPE
- namespac e differenze
E un sacco in più. Ognuno di questi potrebbe essere importante o non importante per la tua applicazione, e solo tu puoi decidere. Vale la pena dare un'occhiata, ma ci vorrà del lavoro per ottenere quello che vuoi.
fonte
2010-08-05 21:31:58
Probabili soluzioni: [Strumenti gratuiti Xml Diff/Merge] (http://stackoverflow.com/questions/1871076), [XML Diff e Merge] (http://stackoverflow.com/questions/430001) –