{ }JSONKit.tools

Porównanie XML — różnice między dwoma plikami

Porównaj dwa dokumenty XML według struktury. Kolejność atrybutów i wcięcia przestają liczyć się jako różnice, a powtarzające się elementy dopasowywane są według zawartości, nie pozycji.

Lewy XML

Prawy XML

Różnice

–

O tym narzędziu

Dokumenty XML niosą dużo szumu, którego porównanie tekstowe nie odróżnia od znaczenia: wcięcia, kolejność atrybutów, łamanie wierszy wewnątrz znacznika. Ta strona parsuje obie strony — atrybuty stają się kluczami z przedrostkiem @, powtarzające się elementy stają się tablicami — i zestawia struktury. Wraca różnica w danych: zmieniona wartość, element, który się pojawił, atrybut, który zniknął.

Jak używać

  1. 1Wklej oba dokumenty XML do lewego i prawego panelu.
  2. 2Odczytaj wynik jako Obok siebie, Drzewo albo Listę i przejdź po zmianach strzałkami.
  3. 3Włącz Tylko zmiany, aby zwinąć nietknięte fragmenty.

Częste pytania

›Jak porównywane są atrybuty?

Jako dane, na elemencie, który je nosi — w wyniku pojawiają się jako klucze z przedrostkiem @. Zmiana kolejności atrybutów elementu nie daje różnicy, bo w XML-u kolejność atrybutów nic nie znaczy.

›Czy białe znaki między elementami mają znaczenie?

Nie. Wcięcia i podziały wierszy między elementami znikają przy parsowaniu, więc przeformatowanie dokumentu daje puste porównanie. Białe znaki wewnątrz wartości tekstowej są zachowywane i jak najbardziej się liczą.

›Co dzieje się z powtarzającymi się elementami?

Dwa lub więcej elementów rodzeństwa o tej samej nazwie stają się tablicą, a tablice dopasowywane są według zawartości — usunięcie jednego wpisu z długiej listy zgłaszane jest więc jako pojedyncze usunięcie, a nie tak, jakby wszystko po nim się przesunęło.

›Czy komentarze i instrukcje przetwarzania są porównywane?

Nie. Żadne z nich nie przeżywa parsowania, więc zmiana komentarza nic tu nie pokaże. To samo dotyczy deklaracji XML.

›Co, jeśli jedna ze stron jest niepoprawna składniowo?

Porównanie zatrzymuje się, a pasek stanu podaje stronę i wiersz wraz z odnośnikiem, który ustawia fokus na tym panelu. Nic nie jest porównywane w połowie sparsowane.