Kodowanie
XML Entities Encode/Decode
Kodowanie i dekodowanie encji XML — 5 standardowych (ampersand, nawiasy ostrokątne, apostrof, cudzysłów) oraz numeryczne odwołania do znaków.
Unlike HTML, XML strictly requires escaping five special characters (&, <, >, ', "), or the document is considered invalid. This tool encodes and decodes those entities, as well as numeric character references.
How to use it
- Encode: paste text and the five reserved characters get replaced with their matching entities (&, <, >, ', ").
- Decode: paste XML containing entities to get plain text back.
- Numeric character references (& or &) are supported too, for characters outside the standard five.
Common uses
- Preparing user text for insertion into an XML document (an RSS feed, a SOAP request, a config file).
- Debugging why an XML parser rejects a document — often the cause is an unescaped ampersand or angle bracket inside the text.
- Decoding content received from an XML-based API to read it in its original form.
Things to keep in mind
XML parsers are much stricter than HTML: a single unescaped entity invalidates the entire document, not just one element.
CDATA sections (<![CDATA[...]]>) are an alternative to escaping for large blocks of text, letting you insert arbitrary content without replacing every special character individually.
Artykuł o tym narzędziu: XML Entities: escapowanie znaków w dokumentach XML
Najczęstsze pytania
Czym encje XML różnią się od encji HTML?
Specyfikacja XML definiuje tylko 5 wbudowanych encji: lt, gt, amp, apos i quot, podczas gdy HTML ma dużo szerszy zestaw nazwanych encji (np. czy ©). W dokumentach XML znaki spoza tej piątki trzeba zapisywać jako encje liczbowe.
Po co kodować te 5 znaków w dokumencie XML?
Znaki <, >, &, ' i " mają w XML znaczenie strukturalne — otwierają znaczniki, atrybuty czy referencje encji. Niezakodowane w treści tekstowej lub wartości atrybutu mogą złamać parsowanie dokumentu lub zmienić jego strukturę.
Czym różnią się tryby Podstawowe i Wszystkie znaki?
Tryb Podstawowe koduje tylko pięć predefiniowanych znaków XML, natomiast tryb Wszystkie znaki zamienia na numeryczne odwołania również znaki spoza ASCII, co bywa przydatne przy ograniczonym kodowaniu dokumentu.
Czym jest CDATA i kiedy używać go zamiast encji?
Sekcja <![CDATA[...]]> pozwala wstawić blok tekstu bez escapowania < i & — przydatne dla dużych fragmentów kodu czy HTML wewnątrz XML. Wyjątkiem jest sekwencja ]]>, która zamyka CDATA i nie może wystąpić w samej treści.
Czy parsery XML jednakowo obsługują niepoprawne encje?
Nie, i w przeciwieństwie do przeglądarek, które „wybaczają" błędy w HTML, parsery XML są surowe: jeden nieescapowany ampersand czy nawias kątowy sprawia, że cały dokument jest nieprawidłowy, a przetwarzanie kończy się błędem.