содержание не доступно в прологе - PullRequest
10 голосов
/ 03 августа 2010

Я пытаюсь преобразовать xml в HTML, используя xslt.Я использую java.xml.transform, чтобы сделать это в Java.все работало нормально, пока я не наткнулся на какое-то xml.он сказал следующую ошибку.

[Fatal Error] :1:1: Content is not allowed in prolog. 
    javax.xml.transform.TransformerConfigurationException: 
    javax.xml.transform.TransformerConfigurationException: 
    javax.xml.transform.TransformerException: 
    org.xml.sax.SAXParseException: Content is not allowed in prolog.

, поэтому я убедился, что перед объявлением xml нет символов.я даже позаботился о спецификации, используя решение http://forums.sun.com/thread.jspa?messageID=10324562#10324562

ЕЩЕ не повезло, и это происходит только для одного xml.я даже открыл XML в редакторе и сохранил его в файле с кодировкой utf-8.Это сводит меня с ума.любая идея?

ОБНОВЛЕНИЕ: Вы получаете эту ошибку, когда вы указали неправильный путь к файлу xsl и возникает исключение для файла, не найденного.(это был мой случай. Это может кому-то помочь. спасибо за ваши ответы)

Ответы [ 2 ]

6 голосов
/ 03 августа 2010

Такое может произойти, если у вас есть файл UTF-8 с BOM и если вы используете синтаксический анализатор XML, который не знает об этом. Сохраните файл XML как UTF-8 без спецификации.

4 голосов
/ 03 августа 2010

У вас есть заголовок в вашем файле?Что-то вроде:

<?xml version="1.0" encoding="utf-8"?>

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

...