Przejrzałem odpowiedzi na to pytanie i niestety żadna z nich nie pomogła mi do tej pory.
Druga edycja C # w Depth jest teraz w wersji do edycji. Chcę móc zobaczyć, co edytor kopii zrobił naprawdę łatwo, więc mogę odrzucić lub zaakceptować jego zmiany.
Używamy zmodyfikowanej formy docbook, ale cieszę się, że mogę zobaczyć surowe źródło XML. Jak dotąd wszystko w porządku - poza tym, że gdy edytor kopii dokona zmiany, może to zmienić zawijanie linii. Więc coś, co zwykło czytać:
<para>Foo bar baz
second line</para>
teraz czyta
<para>Foo bar grontle
baz second line</para>
Teraz prawdziwą zmianą jest wstawienie „grontle”. Nie obchodzi mnie, że „baz” przeniósł się z pierwszej linii do drugiej linii, ale wszystkie narzędzia diff, które widziałem, działają.
Zdaję sobie sprawę, że jedną z opcji byłoby przeformatowanie całego dokumentu (lub ewentualnie całych akapitów) do pojedynczych wierszy ... ale to jest naprawdę trudne do odczytania, ponieważ narzędzia różnicowania nie zawijają się podczas wyświetlania.
Jestem pewien, że poradzę sobie z narzędziami, które posiadam, ale jeśli ktoś wie coś lepszego, bardzo chętnie o tym usłyszę. Podejrzewam, że moi wydawcy też by to zrobili.
(Umieściłem tutaj znacznik Windows, ponieważ naprawdę potrzebuję, aby był dostępny w systemie Windows. Chciałbym też usłyszeć o każdym oprogramowaniu innym niż Windows, ale tylko w przypadku, gdybym mógł pomóc w jego zbudowaniu w systemie Windows.
źródło
Moje rozwiązanie jest niezrównane . (znacznie potężniejsze narzędzie)
Zaczynamy więc od dostrzeżenia problemu.
BC ma specjalną rolę analizującą XML: (ma już rolę XML, ale nie ma wstępnej analizy - która jest posortowana i uporządkowana )
więc wchodzimy na http://www.scootersoftware.com/download.php?zz=kb_moreformats_alt
i teraz -
mam nadzieję, że użyjesz go do następnej edycji C # dogłębnie
ps, jeśli tekst na zdjęciach jest zbyt mały, po prostu kliknij obraz, aby załadować oryginalne.
źródło
Jestem autorem narzędzia różnicowego XML (oprogramowanie komercyjne), które powinno wykonać zadanie (i kilka innych funkcji). Istnieje wersja testowa (ograniczona do plików Xml o maksymalnej wielkości 100 KB) do pobrania tutaj:
http://xmldifftool.com/download_en.html
Krótkie wprowadzenie jest również dostępne tutaj:
http://xmldifftool.com/xtcmanual_en.html
źródło
Niedawno miałem ten sam problem w firmie. Chcieli znaleźć prawdziwy „XML różni się” i wydaje się, że nie ma tam kompletnych rozwiązań.
Najłatwiejszym rozwiązaniem jest uruchomienie najpierw ładnego skryptu na XML, aby znormalizować zakończenia linii i odstępy, a następnie uruchomić wybrane narzędzie różnicowania ( WinMerge jest miły dla systemu Windows). Powoduje to utratę wielu flotsam, które większość difftools rzuci na ciebie z XML, i jest naprawdę łatwe do zbudowania skryptu.
źródło
SD Smart Differencer porównuje dokumenty na podstawie struktury w przeciwieństwie do faktycznego układu.
Jest XML Smart Differencer. W przypadku XML oznacza to dopasowanie kolejności znaczników i treści. Należy zauważyć, że ciąg tekstowy we wskazanym fragmencie był inny. (Obecnie nie rozumie pojęcia XML tekstu, w którym białe znaki są znormalizowane vs. znaczące, ale podejrzewam, że nie zaszkodzi ci to zbytnio).
źródło
@Jon Skeet: Wspomniałeś w swoim pytaniu, że narzędzia diff nie zawijają się podczas ich wyświetlania.
vimdiff
(dostępny również wgvim
systemie Windows za pośrednictwem ) umożliwia zawijanie wyświetlanych plików XML:window set wrap
. Link referencyjny .Możesz także uruchomić,
:diffupdate
aby odświeżyć pliki różnic.źródło