11

我正在尝试xml使用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处理 BOM

仍然没有运气,它只发生在一个 xml 中。我什至在编辑器中打开了 xml 并将其保存在一个带utf-8编码的文件中。这真让我抓狂。任何想法?

更新:当您为xsl文件提供错误的路径并且发生文件未找到异常时,您会收到此错误。(这是我的情况。它可能会对某人有所帮助。感谢您的回复)

4

2 回答 2

6

如果您有一个带有BOM的 UTF-8 文件,并且如果您使用不知道它的 XML 解析器,则可能会发生这种情况。将 XML 文件另存为不带 BOM 的 UTF-8。

于 2010-08-03T10:33:14.830 回答
4

你的文件中有标题吗?就像是:

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

那应该在第一行的开头。不幸的是,我看不到您的 XML 文件,因为该 URL 从我所在的位置被阻止。

于 2010-08-03T11:14:04.503 回答