TanodTools
PL

Formatuj i waliduj XML

Wklej XML, aby dodać wcięcia, zmniejszyć go albo sprawdzić, czy jest poprawnie sformułowany, z wierszem i kolumną każdego błędu.

Działa w całości w Twojej przeglądarce

Układ

Dane do około 10 MB. Narzędzie sprawdza, czy XML jest poprawnie sformułowany; nie waliduje względem schematu (XSD) ani DTD.

Jak sformatować i zwalidować XML

  1. Wklej XML do pola albo kliknij Wstaw przykład.
  2. Wybierz 2 spacje, 4 spacje, tabulatory albo Minifikuj, aby usunąć białe znaki między znacznikami.
  3. Jeśli XML nie jest poprawnie sformułowany, zobaczysz wiersz i kolumnę pierwszego problemu. W przeciwnym razie skopiuj lub pobierz wynik.

Formatowanie XML bez zmiany jego treści

XML jest wymagający co do struktury, a swobodny co do układu: między dwoma znacznikami możesz nie wstawić nic, spację albo sto pustych wierszy, a dokument znaczy to samo. Dlatego kanały, odpowiedzi SOAP i eksportowane konfiguracje często przychodzą w jednym długim wierszu. Wcięcie każdego zagnieżdżonego elementu uwidacznia hierarchię i umożliwia porównanie wiersz po wierszu.

Wiele formatterów parsuje dokument i zapisuje go na nowo, co może po cichu przepisać rzeczy, których nie kazano ruszać: zamienić © na dosłowny znak, zmienić styl cudzysłowów albo przestawić atrybuty. To narzędzie czyta tekst tokenizerem i ponownie używa każdego fragmentu dokładnie tak, jak został zapisany, dodając lub usuwając tylko białe znaki między elementami. Następnie używa wbudowanego w przeglądarkę parsera XML, aby sprawdzić, czy wynik jest poprawnie sformułowany.

Białe znaki to jedyne miejsce, w którym XML nie zawsze jest swobodny. W akapicie takim jak <p>one <b>two</b> three</p> spacje wokół znaczników należą do tekstu, więc ich przesunięcie lub usunięcie zmieniłoby to, co widzi czytelnik. Elementy mieszające tekst i znaczniki oraz elementy oznaczone xml:space="preserve" nigdy więc nie są przeformatowywane.

Wskazówki

  • Przenosisz dane między formatami? Połącz to z narzędziem Formatuj i waliduj JSON, aby czytać obie strony.
  • Formatujesz stronę internetową, a nie plik z danymi? Użyj narzędzia Formatuj i upiększaj HTML, które rozumie znaczniki bez zamknięcia, takie jak <br>.
  • Chcesz zobaczyć, co zmieniło się między dwoma eksportami? Sformatuj oba, a potem porównaj je w narzędziu Porównaj teksty.

Najczęstsze pytania

Czy mój XML jest przesyłany?

Nie. Dokument jest sprawdzany i formatowany przez kod działający w przeglądarce, więc pliki konfiguracyjne, kanały i odpowiedzi API zostają na urządzeniu.

Czy formatowanie zmienia moje dane?

Znaczniki, atrybuty i tekst są kopiowane dokładnie tak, jak zapisano. Encje, takie jak &amp; i &#169;, sekcje CDATA, komentarze, instrukcje przetwarzania i DOCTYPE nie są ponownie kodowane ani przestawiane. Zmieniają się tylko białe znaki między elementami.

Co dzieje się z tekstem wymieszanym ze znacznikami?

Element taki jak <p>Hello <b>world</b></p> miesza tekst i elementy, gdzie każda spacja może mieć znaczenie, więc pozostaje dokładnie taki, jak zapisano. To samo dotyczy każdego elementu oznaczonego xml:space="preserve". Uwaga pod wynikiem podaje, ile ich pozostawiono bez zmian.

Co usuwa Minifikuj?

Tylko tekst złożony wyłącznie z białych znaków między znacznikami, taki jak podziały wierszy i wcięcia między elementami. Tekst wewnątrz elementów, treść mieszana i elementy zachowywane pozostają nietknięte, więc zminifikowany plik znaczy to samo co oryginał.

Czym różni się poprawnie sformułowany od poprawnego (valid)?

Poprawnie sformułowany (well-formed) oznacza, że składnia jest prawidłowa: znaczniki są zamknięte i właściwie zagnieżdżone, atrybuty ujęte w cudzysłowy, jest jeden element główny. Poprawny (valid) oznacza, że dodatkowo jest zgodny ze schematem lub DTD. To narzędzie sprawdza pierwsze; zgłasza brakujący znacznik zamykający lub atrybut bez cudzysłowu, ale nie element, którego schemat nie dopuszcza.

Dlaczego odrzuca encję HTML taką jak &amp;nbsp;?

Sam XML definiuje tylko pięć nazwanych encji: &amp;, &lt;, &gt;, &quot; i &apos;. Inne, w tym &nbsp;, wymagają DOCTYPE, który je deklaruje, albo postaci liczbowej, takiej jak &#160;.