XML-форматировщик
Форматируйте, проверяйте и улучшайте XML-документы с подсветкой синтаксиса и обнаружением ошибок
XML Ввод
Результат форматирования
Инспектор
Расширенные настройки
Сравнить с другим XML
Отправьте этот документ в Data Diff и вставьте вторую версию, чтобы увидеть, что изменилось.
Валидация с точной позицией ошибки
Валидация выполняется при каждом нажатии клавиши с помощью XML-парсера браузера. Well-formed документы получают счётчики в реальном времени: количество элементов, атрибутов, текстовых узлов и глубину вложенности. Сломанные сообщают точные строку и столбец, вероятную причину и подсвечивают ошибочную позицию — а не просто «not well-formed».
Распространённые XML-ошибки, которые этот инструмент точно определяет
На такие ошибки приходится большая часть невалидного XML. Каждая обнаруживается с указанием позиции и вероятной причины:
Несовпадающие теги
<person> закрыт как </perso>. Парсер выдаёт «Opening and ending tag mismatch» с указанием строк обоих тегов; подсветка перескакивает на ошибочный.
Незакрытый тег
Отсутствующий > или отсутствующий закрывающий тег. Обычно сообщается как «expected >» или «premature end of data in tag X» в точной позиции.
Дублирующийся атрибут
Одно и то же имя атрибута дважды на одном элементе, например <item id="1" id="2">. Сообщается как «Attribute redefined» с указанием на второе вхождение.
Некорректная сущность / неэкранированный &
Литеральный & или < внутри текста должны быть экранированы (&, <). Парсер сообщает «EntityRef: expecting ;» или «not well-formed», указывая точный символ.
До / После
Минифицированный ответ API слева, тот же документ, отформатированный с отступом в 2 пробела, справа. Структура, дерево и пути обновляются на основе разобранного документа.
<catalog><book id="1" category="fiction"><title>The Hobbit</title><author>J.R.R. Tolkien</author></book><book id="2" category="tech"><title>Refactoring</title><author>Martin Fowler</author></book></catalog>
<catalog>
<book id="1" category="fiction">
<title>The Hobbit</title>
<author>J.R.R. Tolkien</author>
</book>
<book id="2" category="tech">
<title>Refactoring</title>
<author>Martin Fowler</author>
</book>
</catalog>
Краткая справка по XML (W3C XML 1.0)
- Well-formed ≠ valid: well-formed означает, что теги корректно вложены и закрыты; valid дополнительно означает, что документ соответствует DTD или XSD-схеме.
- Пять предопределённых сущностей: < > & " ' — литеральный < или & в тексте всегда является ошибкой.
- Имена элементов и атрибутов чувствительны к регистру и могут иметь префиксы пространств имён (ns:tag).
- Ровно один корневой элемент; XML-объявление вида <?xml version="1.0" encoding="UTF-8"?>, если присутствует, должно идти первым.
- Комментарии <!-- … --> не могут содержать -- и не могут быть вложенными.
Следующие шаги с этими данными
Форматирование — лишь первый шаг. Продолжайте рабочий процесс, не покидая браузер:
Часто задаваемые вопросы
Ответы на распространенные вопросы о форматировании Xml Formatter
Форматер выполняет проверку корректности (well-formedness) и базовую валидацию. Он проверяет правильную вложенность тегов, синтаксис атрибутов и соответствие XML-объявления согласно спецификациям W3C XML 1.0/1.1.
Да, встроенный XPath-тестер позволяет писать и вычислять выражения XPath 1.0 и 2.0 для вашего XML-документа, подсвечивая совпадающие элементы и мгновенно показывая результаты.
Да, форматер корректно обрабатывает XML-документы с пространствами имён, сохраняя объявления и префиксы пространств имён и правильно форматируя элементы и атрибуты.
Да, функция конвертации позволяет преобразовывать XML в JSON и обратно с интеллектуальным сопоставлением, которое сохраняет структуру элементов, атрибуты и типы данных.
XML-форматировщик поддерживает файлы размером до 50 МБ благодаря оптимизированным алгоритмам разбора, что делает его подходящим для больших конфигурационных файлов, сообщений SOAP и документов обмена данными.
Объявления пространств имён (xmlns, xmlns:prefix) при форматировании рассматриваются как обычные атрибуты для целей отступов и никогда не переупорядочиваются и не удаляются, поэтому URI пространств имён остаются привязанными к тем же префиксам. Форматирование никогда не разрешает и не переписывает префиксы — их разрешением занимаются последующие инструменты согласно рекомендации W3C Namespaces in XML.
Форматирование только изменяет отступы и нормализует пробелы между элементами. Валидация проверяет структуру: сбалансированность тегов, наличие единственного корневого элемента, корректное заключение атрибутов в кавычки и синтаксис сущностей согласно спецификации W3C XML 1.0. Форматировщик сообщает об ошибках корректности построения (некорректный ввод невозможно переформатировать отступами), но не выполняет валидацию по DTD или XSD-схеме.
Да — блоки CDATA сохраняют своё точное внутреннее содержимое (в этом их назначение: экранирование текста, который иначе потребовал бы кодирования сущностями), а комментарии проходят без изменений, за исключением окружающих отступов. XML-декларации и инструкции обработки вида <?xml version="1.0"?> также остаются в начале файла нетронутыми.
Авторитетные источники
Стандарты и официальная документация, определяющие форматы, с которыми работает этот инструмент.
W3C - Extensible Markup Language (XML) 1.0
Рекомендация W3C, определяющая Extensible Markup Language 1.0 — основу формата.
XML - Wikipedia
Древовидная модель XML, пространства имён и то, почему формат требует валидности и синтаксической корректности.
MDN Web Docs - XML
Руководство Mozilla по обработке XML в браузере, включая использование DOMParser.
Связанные инструменты
JSON-форматировщик
Форматируйте, проверяйте и украшайте JSON-данные с интеллектуальными отступами и подсветкой синтаксиса
Восстановление JSON
Мгновенно исправляйте некорректный, невалидный или сломанный JSON. Восстанавливайте обрезанный вывод LLM, пропущенные запятые, ключи без кавычек и висячие запятые прямо в браузере
Форматтер JSONL
Форматирование файлов JSON Lines (NDJSON) и конвертация между JSON и JSONL. Проверка каждой строки и форматирование NDJSON-потоков с отступами