Vergleichen von XML-Dateien
Habe ich zwei XML-Dateien (XSD), die erzeugt werden, indem einige tool.
Das tool kümmert sich aber nicht erhalten, die Reihenfolge der Elemente so, obwohl der Inhalt gleich ist, vergleicht man es als text Ergebnis als die Dateien sind unterschiedlich.
Gibt es irgendein tool, das die Art der Elemente, bevor Sie den Vergleich und ermöglicht es, text-Vergleich der Dokumente?
Natürlich ist die Sortierung getan werden muss, um rekursiv.
Daten Beispiel:
Datei:
<xml>
<A/>
<B/>
</xml>
Datei B:
<xml>
<B/>
<A/>
</xml>
InformationsquelleAutor Avner Levy | 2012-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte ein ähnliches problem und fand ich schließlich: http://superuser.com/questions/79920/how-can-i-diff-two-xml-files
Dass die post schlägt dabei eine kanonische xml Sortieren, dann machst ein diff. Die folgenden arbeiten sollten für Sie, wenn Sie auf linux, mac, oder wenn Sie mit windows so etwas wie cygwin installiert:
InformationsquelleAutor James Oravec
Haben Sie einen Blick auf Mit Hilfe von XSLT zu Unterstützen Regressionstests beschreiben, dass eine Lösung mit xslt
InformationsquelleAutor mkdev
Können Sie mit dem perl-Modul DifferenceMarkup http://metacpan.org/pod/XML::DifferenceMarkup oder die xmldiff pecl.php.net/xmldiff Erweiterung in PHP. Beide produzieren eine lesbare XML-diff-Dokument.
InformationsquelleAutor Maximilian
Für was es Wert ist, die ich erstellt habe, ein java-tool (oder kotlin eigentlich) für einen effizienten und konfigurierbaren Kanonisierung von xml-Dateien.
Wird es immer:
Darüber hinaus können Sie sagen: es
<RequestReceivedTimestamp>
geändert hat.<Contact>
Einträge in<ListOfFavourites>
geändert hat.Es nutzt XSLT und hat alle oben genannten effizient mit Verkettung.
Einschränkungen
Er unterstützt die Sortierung von verschachtelten Listen - Sortierung innersten Listen vor äußeren. Aber es kann nicht zuverlässig Sortieren von beliebigen Ebenen der rekursiv verschachtelten Listen.
Wenn Sie solche Bedürfnisse können Sie - nachdem Sie dieses tool - vergleichen Sie die sortierte byte-arrays der Ergebnisse. Sie werden gleich, wenn nur eine Liste Sortieren Probleme bleiben.
Wo man es
Du kannst es hier bekommen: XMLNormalize
InformationsquelleAutor Jens Krogsboell
XML-Proben sind grundverschieden. Obwohl der Inhalt und die Hierarchie kann identisch sein, die Beziehungen zwischen Gleichaltrigen unterscheidet. Bei XML wird geparst, es wird analysiert, in einer Struktur namens ein DOM, wo die Beziehungen zwischen den Einheiten ist sehr wichtig. Wenn Sie möchten, Rabatt die Art der Beziehungen zwischen peer-Entitäten, dann werden Sie wahrscheinlich benötigen, individuelle software. Ich empfehle die Suche nach einigen einfachen open-source-XML-fähige diff-tool und das hinzufügen der zusätzlichen Anforderungen, die Sie benötigen. Ich schrieb einer bei http://prettydiff.com/ aber ich schlage vor, Sie schauen Sie sich um, um zu sehen, was verfügbar ist, bevor Sie eine Entscheidung treffen, denn die Bearbeitung von jemand anderem algorithmen erfordern etwas schweres heben.
InformationsquelleAutor austincheney