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ć
- 1Wklej oba dokumenty XML do lewego i prawego panelu.
- 2Odczytaj wynik jako Obok siebie, Drzewo albo Listę i przejdź po zmianach strzałkami.
- 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.