Content is not allowed in prolog
2007-12-25 10:57
344 查看
疯了,可怜的Java 可怜的JSP,问题真多:Content is not allowed in prolog.
一个简单的JSP,转换一个XML输出HTML
<c:import url="Test.xsl" var="stylesheet"/>
<x:transform xslt="${stylesheet}" doc="Test.xml"/>
报错:Content is not allowed in prolog.
上网查,说可能是BOM问题,说很多编辑器保存UTF-8时会在前面加个0xFE之类的,
但是很多XML解析器又不认识。。。。
是这个原因吗?我更改了其他编码,也曾经用编辑器把0xFE去掉,没用啊。。。
其他回答:
/////////////////////////////
在 windows 上,檔案如果是存檔成 unicdoe 或是 utf-8 的時候,如果用 ultraedit 或是其他可以用二進元觀看檔案的軟體打開檔案,會看到檔案的開頭多了 FE FF 這 2 個位元組的東西,去年自己在玩 hibernate 時候,使用 xml 檔案做為 hibernate 初始化的設定檔,那時候曾出現一個怪問題,就是在讀取 xml 檔案的時候,xml parser 一直回報 Content is not allowed in prolog 的錯誤訊息,上網查了查資料後,才發現原來是因為檔案的前面有unicdoe 的 BOM 識別字元。
http://hiwzg.javaeye.com/blog/82203 http://jkyeah.spaces.live.com/blog/cns!F1E94866655D7319!131.entry
一个简单的JSP,转换一个XML输出HTML
<c:import url="Test.xsl" var="stylesheet"/>
<x:transform xslt="${stylesheet}" doc="Test.xml"/>
报错:Content is not allowed in prolog.
上网查,说可能是BOM问题,说很多编辑器保存UTF-8时会在前面加个0xFE之类的,
但是很多XML解析器又不认识。。。。
是这个原因吗?我更改了其他编码,也曾经用编辑器把0xFE去掉,没用啊。。。
其他回答:
对于UTF-8编码的文件来说, BOM头是可有可无的. 如果用dom4J加载含有BOM 头的UTF-8格式的xml文件, 却会抛出"Content is not allowed in prolog"异常. 原来无BOM头的UTF-8文件在经过UltraEdit编辑后, UltraEdit会擅自作主添加一个 BOM头(EditPlus无此问题, 记事本似乎有此问题), 即使去掉UltraEdit中与BOM相 关的所有设置选项也无济于事. 后来在UltraEdit论坛搜索答案, 有人提到11版以后 (含)的UltraEdit"另存为"对话框提供了另存为"UTF-8 - NO BOM"的一个选项.对理 想主义者来说, 这不能算是一个很完美的解决方法:( 进一步研究可以发现, IE/Windows记事本/XmlBuddy等等可正常显示含BOM头的 UTF-8格式文件.那么完美方案应该是让dom4j能正确读入含BOM头的UTF-8文件. 在dom4j的sourceforge论坛上已经有人就此提问, 但是答案中的链接已经失效. 再 次google, 在这里找到了一段代码. |
在 windows 上,檔案如果是存檔成 unicdoe 或是 utf-8 的時候,如果用 ultraedit 或是其他可以用二進元觀看檔案的軟體打開檔案,會看到檔案的開頭多了 FE FF 這 2 個位元組的東西,去年自己在玩 hibernate 時候,使用 xml 檔案做為 hibernate 初始化的設定檔,那時候曾出現一個怪問題,就是在讀取 xml 檔案的時候,xml parser 一直回報 Content is not allowed in prolog 的錯誤訊息,上網查了查資料後,才發現原來是因為檔案的前面有unicdoe 的 BOM 識別字元。
http://hiwzg.javaeye.com/blog/82203 http://jkyeah.spaces.live.com/blog/cns!F1E94866655D7319!131.entry
相关文章推荐
- 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
- 通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
- org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog.
- SAXParseException: Content is not allowed in prolog
- Content is not allowed in prolog.解决方法
- org.xml.sax.SAXParseException: Content is not allowed in prolog
- 读取XML文件报 - Content is not allowed in prolog
- org.xml.sax.SAXParseException: Content is not allowed in prolog.
- SAX解析xml:SAXParseException: Content is not allowed in prolog
- sax解析xml运行出现错误org.xml.sax.SAXParseException: Content is not allowed in prolog
- XML :org.xml.sax.SAXParseException: Content is not allowed in prolog
- weblogic对xml中BOM处理异常——org.xml.sax.SAXParseException:Content is not allowed in prolog
- sax错误:org.xml.sax.SAXParseException: Content is not allowed in prolog解决
- Content is not allowed in prolog
- 解决content is not allowed in prolog问题
- DOM4j:Content is not allowed in prolog
- Content is not allowed in prolog.解决方法
- ibatis的sqlmap.xml 报错:Content is not allowed in prolog异常的原因
- org.xml.sax.SAXParseException: Content is not allowed in prolog.
- 读取XML文件报 - Content is not allowed in prolog