XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.

前端之家收集整理的这篇文章主要介绍了XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在生产环境上,第三方通讯传输内容有XML不允许的特殊字符,我暂且叫它乱码。

这些乱码导致XML解析报错An invalid XML character (Unicode: 0x**) was found in the comment. 或者其他相同的意思。

解决办法有2个:
1是叫第三方通讯传输内容控制乱码,比如0x1c等等
2是自己在解析xml之前,对内容进行乱码过滤

第2个办法,在网上搜到一个解决方案,我觉得有效,但还没有尝试,毕竟要先尝试第1种情况,与第三方叙述问题。

[java] view plain copy
  1. 这些错误的发生是由于一些不可见的特殊字符的存在,而这些字符对于XMl文件来说又是非法的,所以XML解析器在解析时会发生异常,官方定义了XML的无效字符分为三段:
  2. 0x00-0x08
  3. 0x0b-0x0c
  4. 0x0e-0x1f

解决方法是:在解析之前先把字符串中的这些非法字符过滤掉:

办法2转载:http://sjsky.iteye.com/blog/1055063

顺便还搜到一些W3C的测试报告文档,没看懂。转载下应该有点用
http://dev.w3.org/XInclude-Test-Suite/xml-test-suite/xerces-val-report.html

http://dev.w3.org/XInclude-Test-Suite/xml-test-suite/xerces-val-report.html

http://www.w3.org/XML/Test/xmlconf-20080827.html

猜你在找的XML相关文章