Java, анализирующий XML-документ, дает “Содержание, не позволенное в прологе”. ошибка [дубликат]

Этот вопрос уже имеет ответ здесь:

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

[Fatal Error] :1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
    at     com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283  )
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)
    at me.ericso.psusoc.RequirementSatisfier.parseXML(RequirementSatisfier.java:61)
    at me.ericso.psusoc.RequirementSatisfier.getCourses(RequirementSatisfier.java:35)
    at     me.ericso.psusoc.programs.RequirementSatisfierProgram.main(RequirementSatisfierProgram.java:23  )

Начало XML-файла включено:



     
        Information Science and Technology
        B.S.
        
        
            
                GWS
                GQ

Программа может читать в XML-файле, но когда я звоню DocumentBuilder.parse(XMLFile) получить проанализированный org.w3c.dom.Document, Я получаю ошибку выше.

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

49
задан Marcus Adams 8 April 2010 в 02:23
поделиться

4 ответа

Мне кажется, документ хорош, но я подозреваю, что он содержит невидимые символы. Откройте его в шестнадцатеричном редакторе, чтобы убедиться, что до самого первого «<» действительно ничего нет. Убедитесь, что пробелы в заголовке XML являются пробелами. Может быть, удалить пробел перед "?>". Проверьте, какие используются разрывы строк.

Убедитесь, что в документе используется кодировка UTF-8. Некоторые редакторы Windows сохраняют документ как UTF-16 (т.е. каждый второй байт равен 0).

3
ответ дан 7 November 2019 в 11:56
поделиться

Убедитесь, что в начале вашего XML-файла нет скрытых пробелов. Также можно включить в узел encoding = "UTF-8" (или 16? Понятия не имею).

7
ответ дан 7 November 2019 в 11:56
поделиться

Проверьте синтаксические ошибки в файле XMl. Я обнаружил эту ошибку при работе с xsl / xsp с Cocoon, и я определяю переменную, используя несуществующий узел или что-то в этом роде. Проверьте весь XML.

0
ответ дан 7 November 2019 в 11:56
поделиться

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

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
0
ответ дан 7 November 2019 в 11:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: