XML Diff — zwei XML-Dateien vergleichen
Zwei XML-Dokumente strukturell vergleichen. Attributreihenfolge und Einrückung zählen nicht mehr als Unterschied, und wiederholte Elemente werden nach Inhalt statt nach Position zugeordnet.
XML links
XML rechts
Unterschiede
Über dieses Tool
XML-Dokumente tragen viel Rauschen, das ein Text-Diff nicht von Bedeutung unterscheiden kann: Einrückung, Attributreihenfolge, Zeilenumbrüche innerhalb eines Tags. Diese Seite parst beide Seiten — Attribute werden zu Schlüsseln mit @-Präfix, wiederholte Elemente zu Arrays — und vergleicht die Strukturen. Zurück kommt der Unterschied in den Daten: ein geänderter Wert, ein aufgetauchtes Element, ein verschwundenes Attribut.
So wird es benutzt
- 1Die beiden XML-Dokumente ins linke und rechte Panel einfügen.
- 2Das Ergebnis als Geteilt, Baum oder Liste lesen und mit den Pfeilen durch die Änderungen gehen.
- 3Nur Änderungen einschalten, um die unveränderten Teile einzuklappen.
Häufige Fragen
›Wie werden Attribute verglichen?
Als Daten, an dem Element, das sie trägt — im Ergebnis erscheinen sie als Schlüssel mit @-Präfix. Attribute an einem Element umzusortieren erzeugt keinen Unterschied, weil die Attributreihenfolge in XML keine Bedeutung trägt.
›Zählt Leerraum zwischen Elementen?
Nein. Einrückung und Zeilenumbrüche zwischen Elementen werden weggeparst, ein Dokument neu zu formatieren ergibt also ein leeres Diff. Leerraum innerhalb eines Textwerts bleibt erhalten und zählt sehr wohl.
›Was passiert mit wiederholten Elementen?
Zwei oder mehr Geschwisterelemente mit demselben Namen werden zu einem Array, und Arrays werden nach Inhalt zugeordnet — einen Eintrag aus einer langen Liste zu entfernen wird also als eine einzelne Entfernung gemeldet und nicht so, als hätte sich alles danach verschoben.
›Werden Kommentare und Verarbeitungsanweisungen verglichen?
Nein. Beides überlebt das Parsen nicht, einen Kommentar zu ändern zeigt hier also nichts. Dasselbe gilt für die XML-Deklaration.
›Was, wenn eine Seite nicht wohlgeformt ist?
Der Vergleich stoppt, und die Statuszeile nennt die Seite und die Zeile, mit einem Link, der dieses Panel fokussiert. Nichts wird halb geparst verglichen.