Валидатор XML

Проверка XML-документа на корректность и поиск ошибок с указанием строки.

Данные обрабатываются в браузере и никуда не отправляются

Отступ
Перетащите файл сюда или выберите на диске

Здесь появится результат

Проверьте, отформатируйте или минифицируйте документ слева

Как пользоваться

Вставьте XML-документ в левое поле, перетащите файл или нажмите «Пример». Нажмите «Проверить», чтобы найти ошибки, «Форматировать» - чтобы аккуратно расставить отступы, или «Минифицировать» - чтобы сжать документ в одну строку. Ошибки в списке слева кликабельны: клик переносит курсор к месту проблемы в редакторе.

Частые ошибки

Вот ошибки, с которыми чаще всего сталкиваются при работе с XML в интеграциях:

Несовпадающие теги

Открыли <items>, а закрыли </item> - движок ждёт закрывающий тег с точно таким же именем и в обратном порядке вложенности.

Незакрытый тег

Забыли закрывающий тег - парсер доходит до конца файла и не находит пару открытому элементу.

Несколько корневых элементов

У XML-документа может быть только один корневой элемент. Если после закрытия корня идёт ещё один тег того же уровня - это ошибка.

Значение атрибута без кавычек

Атрибуты вида id=5 недопустимы - нужно id="5" или id='5'.

Необъявленные сущности

Символы &, <, >, " и ' в тексте нужно записывать как &amp;, &lt;, &gt;, &quot;, &apos; - иначе парсер решит, что начинается сущность или новый тег.

Несовпадение регистра в тегах

XML чувствителен к регистру: <Item> и <item> - разные теги. Открывающий и закрывающий теги должны совпадать посимвольно.

Проблемы с кодировкой

В объявлении <?xml version="1.0" encoding="..."?> кодировка должна совпадать с реальной кодировкой файла - иначе кириллица и спецсимволы читаются некорректно.

Почему проверка кодировки ограничена

Браузер декодирует файл в текст ещё до того, как отдаёт его нашему инструменту, - значение encoding в прологе на этот момент уже не влияет. Мы отдельно проверяем само значение encoding="..." и предупреждаем, если оно не входит в список распознанных (UTF-8, UTF-16, windows-1251, ISO-8859-1, KOI8-R), но проверить, что реальные байты файла на диске действительно соответствуют этой кодировке, в браузере невозможно.

Частые вопросы

Отправляются ли мои данные на сервер?

Нет. Разбор и проверка XML происходят прямо в браузере с помощью встроенного парсера. Содержимое документа никуда не передаётся.

Проверяется ли соответствие XSD-схеме?

Пока нет - инструмент проверяет только синтаксическую корректность (well-formed XML). Проверку по схеме планируем добавить отдельно.

Почему в сообщении об ошибке иногда не указана точная причина?

Разные браузеры сообщают об ошибках парсинга по-разному. Мы переводим и уточняем самые частые случаи; для редких мы показываем общее описание места ошибки.

Какой максимальный размер файла можно загрузить?

До 5 МБ. Для больших файлов показывается индикатор обработки, чтобы страница не выглядела зависшей.

Можно ли дать ссылку на уже разобранный пример?

Да, добавьте к адресу страницы параметр ?example=invoice или ?example=invoice-error - откроется страница с готовым примером.

Похожие инструменты

Курс «Проектирование API и интеграций»

Глубокое погружение в REST, gRPC, SOAP, проектирование баз данных и брокеры сообщений (Kafka, RabbitMQ). Делегирование рутины нейросетям (ИИ). Перестанете бояться технических собеседований и начнете говорить с разработчиками на одном языке. Курс собран так, чтобы пробить зарплатный потолок и вырасти в грейде - ученики тому подтверждение.

Перейти к курсу на Stepik