微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SAXParseException:序言中不允许内容

如何解决SAXParseException:序言中不允许内容

您的xml文件的开头(之前<?xml version="1.0" encoding="UTF-8"?>)有一些不可见的字符(很可能是BOM),这在xml中是不允许的。您可以使用十六进制编辑器查看它。解决该问题的最简单方法是创建一个空文本文件并将其内容复制到其中,然后将扩展名更改为xml。

检查此答案以获取更多帮助。

来自http://www.rgagnon.com/javadetails/java-handle-utf8-file-with- bom.html

UTF8文件是一种特殊情况,因为不建议向其中添加BOM,因为它可能破坏其他工具,例如Java。实际上,Java假定UTF8没有BOM,因此,如果存在BOM,则不会将其丢弃并将其视为数据。

解决方法

我需要将以下文件添加到Tomcat的’/ conf’目录中:

<?xml version="1.0" encoding="UTF-8"?>
<Context useHttpOnly="false" path="/bbc">
    <Realm className="com.bbc.tomcat.BBCSecurityRealm"/>
</Context>

添加此文件后,Tomcat启动时出现以下错误”

ERROR ecmdefault util.digester.Digester 18:37:14,477 localhost-startStop-1 : Parse Fatal Error at line 1 column 1: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1427)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。