Content is not allowed in prolog перевод

Создаю сжатый архив GZIP из своего xml файла и получаю ошибку, при валидации Яндекс.Работа. Как можно решить проблему ?

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

Посмотрите другие вопросы с метками xml или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.1.10.35756

использую экспорт в яндекс-работу.
Почему-то перестал яндекс принимать xml более 300 мб, поэтому решил добавить сжатие.
При отправке файла в валидатор яндекса постоянно получаю ошибку Content is not allowed in prolog
Я уже убрал все, что можно было убрать из файла, чтобы исключить какие-либо символы или пробелы, и все ровно яндекс ругается.
Что делать ? Спасибо .

У меня есть клиент веб-службы на основе Java, подключенный к веб-службе Java (реализованной на платформе Axis1).

Я получаю следующее исключение в мой лог-файл:

26 ответов:

это часто вызвано пробелом перед объявлением XML, но это может быть любой текст, как прочерк или любой символ. Я говорю, что часто вызвано белым пространством, потому что люди предполагают, что белое пространство всегда игнорируется, но это не так.

еще одна вещь, которая часто случается, это UTF-8 BOM (метка порядка байтов), который и разрешено перед объявлением XML можно рассматривать как пробелы, если документ передается как поток символов для синтаксического анализатора XML, а не как поток байтов.

то же самое может произойти, если файлы схем (.xsd) используются для проверки xml-файла и один из файлов схемы имеет UTF-8 BOM.

попробуйте добавить пробел между encoding="UTF-8" строка в прологе и окончание ?> . В XML пролог обозначает этот элемент с разделителем в виде вопросительного знака в начале документа (в то время как тег пролог в stackoverflow относится к языку программирования).

добавлено: заключается в том, что черточки в глазах ваших Пролог Часть документа? Это было бы ошибкой там, имея данные перед прологом, — .

собственно в дополнение к посту Юрия Зубарева

когда вы передаете несуществующий xml-файл в parser. Например, вы проходите

Читайте также:  Hp pavilion g6 1216er драйвера

когда только C:/temp/abc.xml-файл существует в вашей файловой системе

все дают одно и то же сообщение об ошибке.

очень разочаровывает ошибка, потому что следующий след

ничего не говорит о том, что ‘ имя файла неверно " или "такой файл не существует". В моем случае у меня был абсолютно правильный xml-файл, и мне пришлось потратить 2 дня, чтобы определить реальную проблему.

Это означает, что XML искажен или тело ответа вообще не является XML-документом.

У меня была такая же проблема (и я ее решил) при попытке проанализировать XML-документ с помощью freemarker.

У меня не было пробелов перед заголовком XML-файла.

проблема когда и только когда кодировка файла и атрибут кодировки XML отличаются. (например: файл UTF-8 с атрибутом UTF-16 в заголовке).

поэтому у меня было два способа решения проблемы:

  1. изменение кодировки файла сам
  2. изменение заголовка UTF-16 на UTF-8

только что провел 4 часа, отслеживая аналогичную проблему в WSDL. Оказывается, WSDL использовал XSD, который импортирует другое пространство имен XSD. Этот импортированный XSD содержал следующее:

обратите внимание на пустой include элемент! В этом был корень моих бед. Я думаю, что это вариация на файл Егора не нашел проблемы выше.

+1 к неутешительным отчетов об ошибках.

в моем случае удаление атрибута ‘encoding=" UTF-8 " полностью сработало.

Это похоже на проблему кодировки набора символов, возможно, потому, что ваш файл на самом деле не находится в UTF-8.

мой ответ не поможет вам, вероятно, но это поможет с этой проблемой в целом.

когда вы видите такое исключение, вы должны попытаться открыть свой xml-файл в любом шестнадцатеричном редакторе, и когда-нибудь вы можете увидеть дополнительные байты в начале файла, который текстовый редактор не показывает.

удалите их, и ваш xml будет проанализирован.

Если все остальное не удается, откройте файл в двоичном формате, чтобы убедиться, что в начале файла нет забавных символов [3 непечатаемых символа в начале файла, которые идентифицируют файл как utf-8] в начале файла. Мы сделали это и нашли. поэтому мы преобразовали файл из utf-8 в ascii, и это сработало.

для тех же проблем, я удалил следующую строку,

Он работает нормально. Не очень уверен, почему это UTF-8 дает проблему. Чтобы держать меня в шоке, он отлично работает и для UTF-8.

С Windows-7 32 бит и IDE Netbeans с Java *jdk1.6.0_13*. Понятия не имею, как это работает.

Как уже отметил Майк Соколов, одной из возможных причин является наличие некоторого символа/S (например, пробела) перед тегом.

Читайте также:  Как программировать домофон визит

Если ваш входной XML читается как строка (в отличие от массива байтов), то вы можно использовать заменить входную строку с приведенным ниже кодом, чтобы убедиться, что все "ненужные" символы перед тегом xml стираются.

вы должны быть уверены, что входной xml начинается с тега xml, хотя.

я следовал инструкциям нашли здесь и я получил ту же ошибку.

Я попробовал несколько вещей, чтобы решить эту проблему (т. е. изменение кодировки, ввод XML-файла, а не копирование-вставка его ect) в блокноте и блокноте XML, но ничего не сработало.

проблема была решена, когда я редактировал и сохранял свой XML-файл в Notepad++ (кодировка — > utf-8 без спецификации)

для всех тех, кто получает эту ошибку: Предупреждение: Каталина.начните использовать conf / server.xml: содержимое не допускается в прологе.

не очень информативно.. но на самом деле это означает, что в вашем conf/сервере есть мусор.XML-файл.

Я видел эту точную ошибку в других XML-файлах.. эта ошибка может быть вызвана внесением изменений с помощью текстового редактора, который вводит мусор.

как можно проверить, есть ли у вас мусор в файл откройте его с помощью "шестнадцатеричного редактора", Если вы видите какой-либо символ перед этой строкой

как это было бы мусор

Это твоя проблема. Решение заключается в использовании хорошего шестнадцатеричного редактора.. Тот, который позволит вам сохранять файлы с различными типами кодировки..

тогда просто сохраните его как UTF-8. Некоторые системы, которые используют XML-файлов может понадобиться сохранена как UTF без Бом Что означает "без знака порядка байтов"

надеюсь, это поможет кому-то там!!

в моем случае web.xml в моем приложении есть дополнительное пространство даже после того, как я удалил не работал, мне пришлось отменить изменения и исправления и да я играл с ведение журнала.свойства и web.xml в моем tomcat, но даже после того, как я вернул ошибку продолжал показывать, так что это исправило его )).

чтобы быть конкретным я попытался сделать добавление орг.апаш.Каталина.фильтры.ExpiresFilter.уровень= Штраф в размере стек над потоком что-то о входе.свойства

просто дополнительная мысль об этом на будущее. Получение этой ошибки может быть так, что один просто нажимает клавишу delete или какой-либо другой ключ случайным образом, когда у них есть окно XML в качестве активного дисплея и не обращают внимания. Это уже случалось со мной раньше с распорками.XML-файл в моем веб-приложения. Неуклюжие локти .

Читайте также:  Highscreen power five описание

Я тоже получал то же самое

XML reader error: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,2] Message: Reference is not allowed in prolog.

, когда мое приложение создавало XML-ответ для вызова RestFull Webservice. При создании строки формата XML Я заменил &lt и &gt на затем ошибка ушла, и я получал правильный ответ. Не знаю, как это работает, но это сработало.

пример:

У меня была та же проблема.

сначала я загрузил XML-файл на локальный рабочий стол, и я получил Content is not allowed in prolog во время импорта файла на сервер портала. Даже визуально файл выглядел хорошо для меня, но каким-то образом он был поврежден.

поэтому я повторно загрузил тот же файл и попробовал то же самое, и это сработало.

недавно у нас была такая же проблема, и это оказалось в случае плохого URL и, следовательно, стандартного ответа HTTP 403 (который, очевидно, не является допустимым XML, который искал клиент). Я собираюсь поделиться подробностями, если кто-то в том же контексте столкнется с этой проблемой:

Это было веб-приложение на основе Spring, в котором компонент" JaxWsPortProxyFactoryBean " был настроен для предоставления прокси-сервера для удаленного порта.

в END_POINT_BASE_URL "" является ли переменная среды настроена в "setenv.sh" экземпляра Tomcat, на котором размещается веб-приложение. Содержимое файла выглядит примерно так:

отсутствующий "; " после каждой строки вызвал неправильный URL-адрес и, следовательно, плохой ответ. То есть вместо "BusinessAppServices/OurService?wsdl " URL-адрес имел CR перед "/". "Монитор TCP/IP" был довольно удобен при устранении неполадок.

в моем случае я получил эту ошибку, потому что API, который я использовал, мог возвращать данные либо в формате XML, либо в формате JSON. Когда я тестировал его с помощью браузера, он по умолчанию использовал формат XML, но когда я вызвал тот же вызов из приложения Java, API вернул ответ в формате JSON, что, естественно, вызвало ошибку синтаксического анализа.

даже я столкнулся с аналогичной проблемой. Причиной был какой-то мусорный символ в начале файла.

Fix: просто откройте файл в текстовом редакторе (проверено на Sublime text) удалите любой отступ, если он есть в файле, и скопируйте все содержимое файла в новый файл и сохраните его. Вот так!. Когда я запустил новый файл, он работал без каких-либо ошибок синтаксического анализа.

Я взял код Dineshkumar и изменил, чтобы проверить мой XML-файл правильно: