Ich habe mir die Antworten auf diese Frage angeschaut und leider hat mir bisher keiner geholfen.
Die zweite Ausgabe von C # in Depth ist jetzt in Kopie. Ich möchte in der Lage sein zu sehen, was der Kopiereditor wirklich leicht gemacht hat, damit ich seine Änderungen ablehnen oder akzeptieren kann.
Wir verwenden eine modifizierte Form von Docbook, aber ich freue mich, dass ich mir die unformatierte XML-Quelle anschaue. Bislang alles in Ordnung - mit der Ausnahme, dass der Zeilenumbruch geändert werden kann, wenn der Kopiereditor eine Änderung vornimmt. Also etwas, das früher lautete:
<para>Foo bar baz
second line</para>
liest jetzt
<para>Foo bar grontle
baz second line</para>
Jetzt ist die wirkliche Änderung hier das Einfügen von "grontle". Es ist mir egal, dass "baz" von der ersten in die zweite Zeile verschoben wurde, aber alle Diff-Tools, die ich gesehen habe, tun dies.
Mir ist klar, dass eine Option darin besteht, das gesamte Dokument (oder möglicherweise auch nur ganze Absätze) in einzelne Zeilen umzuformatieren ... aber das ist dann wirklich schwer zu lesen, da die Diff-Tools bei der Anzeige keinen Zeilenumbruch ausführen.
Ich bin sicher, dass ich mit den Tools zurechtkomme , aber wenn jemand etwas besseres weiß, würde ich mich sehr freuen, davon zu hören. Ich vermute, meine Verlage würden auch.
(Ich habe das Windows-Tag hier eingefügt, da es unbedingt unter Windows verfügbar sein muss. Ich würde gerne Informationen zu anderer Software als Windows erhalten, aber nur für den Fall, dass ich bei der Erstellung unter Windows helfen könnte.)
quelle
Meine Lösung ist unvergleichlich . (ein viel leistungsfähigeres Werkzeug)
Also beginnen wir damit, das Problem zu sehen.
BC hat eine spezielle XML-Parsing-Rolle: (Es hat bereits eine XML-Rolle, aber keine mit Voranalyse - die sortiert und aufgeräumt ist. )
Also gehen wir zu http://www.scootersoftware.com/download.php?zz=kb_moreformats_alt
und nun -
Ich hoffe, Sie werden es für die nächste Ausgabe von C # verwenden
ps Wenn der Text in Bildern zu klein ist, klicken Sie einfach auf das Bild, um die Originalbilder zu laden.
quelle
Ich bin der Autor eines XML-Diff-Tools (kommerzielle Software), das den Job erledigen soll (und einige weitere Funktionen). Es gibt eine Testversion (die auf XML-Dateien mit maximal 100 KB beschränkt ist) zum Download hier:
http://xmldifftool.com/download_en.html
Eine kurze Einführung finden Sie auch hier:
http://xmldifftool.com/xtcmanual_en.html
quelle
Ich hatte vor nicht allzu langer Zeit das gleiche Problem in einer Firma. Sie wollten einen echten "XML-Unterschied" finden, und es scheint keine vollständigen Lösungen zu geben.
Die einfachste Lösung besteht darin, zuerst ein Pretty-Print-Skript für das XML-Format auszuführen , um die Zeilenenden und Abstände zu normalisieren, und dann das Diff-Tool der Wahl auszuführen ( WinMerge ist für Windows geeignet ). Dies wirft eine Menge Treibgut ab, das die meisten Diffe-Tools aus XML auf Sie werfen, und es ist wirklich einfach, ein Skript zu erstellen.
quelle
SD Smart Differencer vergleicht Dokumente anhand der Struktur und nicht anhand des tatsächlichen Layouts.
Es gibt einen XML Smart Differencer. Für XML bedeutet dies, dass die Reihenfolge der Tags und des Inhalts übereinstimmt. Es sollte beachtet werden, dass die Textzeichenfolge in dem angegebenen Fragment unterschiedlich war. (Es versteht derzeit nicht den XML-Begriff von Text, in dem Leerzeichen normalisiert oder signifikant sind, aber ich vermute, dass Ihnen das nicht sehr schaden wird.)
quelle
@ Jon Skeet: Sie haben in Ihrer Frage erwähnt, dass Diff-Tools nicht umbrechen, wenn sie angezeigt werden.
vimdiff
(auch unter Windows über verfügbargvim
) ermöglicht es Ihnen, die angezeigten XML-Dateien mit einem Zeilenumbruch zu versehen:window set wrap
. Referenzlink .Sie können auch ausführen
:diffupdate
, um die Unterschiede zu aktualisieren.quelle