Content is not allowed in prolog: проверить начало XML
XSDHub · 4 ноября 2026 года
Причина и контекст
Ошибка «Content is not allowed in prolog» относится к началу документа перед корневым элементом. Формулировка зависит от парсера: другая библиотека может сообщить «Start tag expected». Обе диагностики в похожем случае указывают, что входные данные начинаются не с допустимой разметки XML.
Что проверить в документе
В ошибочном примере перед корнем стоит слово ERROR. Такой ответ часто появляется, когда приложение сохраняет в файл текст сбоя, диагностический префикс или посторонние данные. Удаление слова исправляет именно этот учебный документ. В рабочем процессе сначала выясните, почему генератор добавил его, иначе следующий экспорт снова окажется повреждённым.
Разбор примера
Просмотрите самые первые байты файла и его полный ответ HTTP, если документ получен по сети. Вместо XML сервер мог вернуть HTML-страницу входа, JSON с ошибкой или текст отказа. Не переименовывайте такой файл в .xml в надежде исправить формат. Проверьте код ответа, тип содержимого и авторизацию в исходной интеграции.
Как найти источник ошибки
XML-декларация, если присутствует, должна находиться в начале документа с учётом допустимой метки кодировки. Пробел перед декларацией может вызвать отдельное сообщение о её расположении. При отсутствии декларации пробельные символы перед корнем допустимы. Поэтому совет удалить абсолютно всё перед первым угловым символом слишком груб и может скрыть настоящую проблему.
Особые случаи
Корректная метка BOM для UTF-8 сама по себе не является доказательством повреждения XML. Проблемы возникают при неверном декодировании, дублировании метки или появлении её в неожиданном месте. Сравните фактические байты с объявленной кодировкой и повторите экспорт. Текстовая загрузка на этой странице рассчитана на UTF-8.
Порядок исправления
Сначала запустите ошибочный пример без схемы и зафиксируйте отказ. Затем проверьте вариант с корнем в начале: он должен пройти синтаксический этап. Только после этого подключайте XSD, если она нужна. Устранение ошибки пролога подтверждает читаемость разметки, но ничего не говорит о соответствии содержимого контракту получателя.
Воспроизведите результат
Открыть инструмент для этих примеров. Сначала проверьте вариант с ошибкой, затем исправленный документ. Выберите проверку синтаксиса без схемы.
XML с ошибкой — ожидается отказ
ERROR<root>Данные</root>Исправленный XML — ожидается успех
<root>Данные</root>