Собственно в дополнение к посту Юрия Зубарева
Когда вы передаете несуществующий XML-файл анализатору. Например, вы передаете
new File("C:/temp/abc")
когда в вашей файловой системе существует только файл C: /temp/abc.xml
В любом случае
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = builder.parse(new File("C:/temp/abc"));
или
DOMParser parser = new DOMParser();
parser.parse("file:C:/temp/abc");
Все выдают одно и то же сообщение об ошибке.
Очень неутешительная ошибка, потому что следующий след
javax.servlet.ServletException
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
...
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
... 40 more
ничего не говорит о том, что «имя файла неверно» или «такого файла не существует». В моем случае у меня был абсолютно правильный XML-файл, и мне пришлось потратить 2 дня, чтобы определить настоящую проблему.