Кодирование
XML Entities Encode/Decode
Кодирование и декодирование XML-сущностей — 5 стандартных (амперсанд, угловые скобки, апостроф, кавычки) и числовые ссылки на символы.
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.
Статья об этом инструменте: XML Entities: экранирование символов в XML-документах
Часто задаваемые вопросы
Чем XML-сущности отличаются от HTML-сущностей?
Стандарт XML предопределяет всего 5 именованных сущностей: <, >, &, ' и ", тогда как в HTML их значительно больше (например, или ©). Для любых других символов в XML нужно использовать числовые ссылки вида & или &.
Зачем вообще экранировать текст в XML?
Символы <, > и & имеют особое значение в разметке и без экранирования могут сломать структуру документа или сделать его невалидным. Кодирование в сущности гарантирует, что текст останется корректным содержимым, а не будет воспринят как теги или атрибуты.
Что означает режим «Все символы»?
Режим «Основные» кодирует только пять предопределённых XML-сущностей, а «Все символы» дополнительно переводит в числовые ссылки не-ASCII символы — это полезно, если документ должен оставаться строго ASCII-совместимым.
Что такое CDATA и когда использовать её вместо сущностей?
Секция <![CDATA[...]]> позволяет вставить блок текста без экранирования < и & — удобно для больших фрагментов кода или HTML внутри XML. Исключение — последовательность ]]>, которая закрывает CDATA и не может встречаться в самом содержимом.
Одинаково ли XML-парсеры обрабатывают невалидные сущности?
Нет, и в отличие от браузеров, которые «прощают» ошибки в HTML, XML-парсеры строгие: один неэкранированный амперсанд или угловая скобка делает весь документ невалидным, и обработка прекращается с ошибкой.