Content is not allowed in prolog

為{幸葍}努か 提交于 2019-12-06 21:44:33

问题


i'm trying to convert xml to html using xslt. Am using java.xml.transform to do this in java. it was working fine until i bumped into some xml. it said the following error.

[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.

so i made sure there is no character before the xml declaration. i even took care of BOM using the solution http://forums.sun.com/thread.jspa?messageID=10324562#10324562

STILL no luck and it happens only for one xml. i even opened the xml in editor and saved it in a file with utf-8 encoding. this is driving me crazy. any idea?

UPDATE: You get this error when you have given the wrong path for the xsl file and a file not found exception happens. (this was my case. it might help somebody. thanks for your responses)


回答1:


This kind of thing can happen if you have an UTF-8 file with a BOM, and if you use an XML parser that isn't aware of it. Save the XML file as UTF-8 without BOM.




回答2:


Do you have a header in your file? Something like:

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

That should be at the start of the first line. Unfortunately I can't see your XML file as that URL is blocked from where I am.



来源:https://stackoverflow.com/questions/3395560/content-is-not-allowed-in-prolog

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!