解析 XML 文件的时候,如 Mybatis 的 Mapper 文件,有时会出现 org.xml.sax.SAXParseException 前言中不允许有内容 的异常,英文就是 Content is not allowed in Prolog 。导致这个问题通常是两个原因

  1. XML 文件开头出现了空白符或其它字符,比如 <?xml version="1.0" 这种开头有空格或者是 .<?xml version="1.0" 这种出现多余符号的。
  2. 文件编码为 UTF-8 with BOM,即带 BOM 头的 UTF-8 格式,很多时候都是这个原因。

如果是文件编码的问题,使用普通的 IDE 转一下格式就行,转成无 BOM 的。

关于 BOM

字节顺序标记(英语:byte-order mark,BOM)是位于码点U+FEFF的统一码字符的名称

不建议使用带 BOM 的 UTF-8 格式

UTF-8编码过的字节顺序标记则被用来标示它是UTF-8的文件。它只用来标示一个UTF-8的文件,而不用来说明字节顺序。许多视窗程序(包含记事本)会添加字节顺序标记到UTF-8文件。然而,在类Unix系统(大量使用文本文件,用于文件格式,用于进程间通信)中,这种作法则不被建议采用。因为它会妨碍到如解译器脚本开头的Shebang等的一些重要的码的正确处理。它亦会影响到无法识别它的编程语言。如gcc会报告源码档开头有无法识别的字符。而在PHP中,如果没有激活输出缓冲(output buffering),它会使得页面内容开始被送往浏览器(即:用户头文件已被提交),这使PHP脚本无法指定用户头文件(HTTP Header)。字节顺序标记在UTF-8中被表示为序列EF BB BF,对大部分未准备好处理UTF-8的文本编辑器及网页浏览器而言,在ISO-8859-1的环境中则会显示。

转载于:https://www.cnblogs.com/toSeeMyDream/p/9257090.html

关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)相关推荐

  1. 用dom4j解析xml错误-Content is not allowed in prolog前言中不允许有内容

    错误信息: org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. N ...

  2. tom启动报错:org.xml.sax.SAXParseException: Content is not allowed in prolog.

    警告: Catalina.start using conf/server.xml: org.xml.sax.SAXParseException: Content is not allowed in p ...

  3. org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested

    报错: org.dom4j.DocumentException: Error on line 1 of document  : Content is not allowed in prolog. Ne ...

  4. org.xml.sax.SAXParseException: Content is not allowed in trailing section

    2019独角兽企业重金招聘Python工程师标准>>> org.xml.sax.SAXParseException: Content is not allowed in traili ...

  5. 读取XML文件报 - Content is not allowed in prolog

    xml 文件使用某些编辑器编辑之后, 使用DOM4j读取时报Content is not allowed in prolog的错误. 关于BOM的说明如下. 在UCS 编码中有一个叫做"ZE ...

  6. Eureka报错: org.xml.sax.SAXParseException: 前言中不允许有内容。

    初次上手Eureka, 配置Server报错了这个错误, Caused by: org.xml.sax.SAXParseException: 前言中不允许有内容. Caused by: org.xml ...

  7. SAXParseException;前言中不允许有内容

    SAXParseException;前言中不允许有内容出错原因及解决办法 SpringBoot项目启动后报如下错误 nested exception is org.springframework.be ...

  8. 解决content is not allowed in prolog问题

    将xml文档用notepad++以UTF-8无BOM格式编码保存便可以了 转载于:https://www.cnblogs.com/kcher90/p/3519279.html

  9. SAXParseException:前言中不允许有内容

    今天打开eclipse时,显示:发生了错误.请参阅日志文件D:\eclipse\Workspace\.metadata\.log.然后打开日志:problems readiing informatio ...

最新文章

  1. rabbitmq可靠发送的自动重试机制 --转
  2. Neighbor-Vote:使用邻近距离投票优化单目3D目标检测(ACM MM2021)
  3. Coursera ML笔记 - 神经网络(Learning)
  4. java中path和classpath_java中的环境变量path和classpath的作用-Go语言中文社区
  5. C++学习之路 | PTA乙级—— 1006 换个格式输出整数 (15分)(精简)
  6. 第 6-1 课:Spring 核心 + 面试题
  7. mysql 存储过程改用户_Mysql修改存储过程相关权限问题
  8. Liunx服务器部署系列
  9. 面向对象编程设计练习题(1)
  10. Waymo无人车,每天能绕地球一圈
  11. SpringBoot整合JWT实现前后端Token验证
  12. spring boot 2 整合 j2Cache
  13. Java前景如何,容易找工作嘛
  14. 人的命,三分天注定,七分靠打拼,有梦就会红,爱拼才会赢
  15. 高速内部总线HSIB和设备总线DB
  16. Vue开发实例(11)之el-menu实现左侧菜单导航
  17. linux查看系统资源使用情况,Linux查看系统资源占用
  18. 《人月神话》-人月神话
  19. html分页自动加载,AutoPagerize插件,网页自动翻页插件,自动加载分页网站
  20. 重写重载—重写详细解释

热门文章

  1. colorpix取色小工具_Python版的取色器
  2. 新手小白该怎么学习前端?附学习路线和资料
  3. 单片机,微控制器和微处理器的主要区别?
  4. python 类和对象_面向对象的编程思想和Python的类,访问和属性,继承
  5. Python 变量 字符串 运算
  6. php中写alter,MySQL之alter语句用法总结
  7. python怎么弄成白色背景_使用PIL python将白色背景转换为透明背景
  8. python n个list如何组成矩阵_学完Python,我决定熬夜整理这篇总结...
  9. db2数据库服务器时间怎么修改,DB2数据库中,肿么修改数据的创建时间,求SQL语句。...
  10. 小米路由器4 bootloader_无线路由器刷机中,Breed详细使用教程,一些注意事项