XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
2017-07-17 00:57
615 查看
在生产环境上,第三方通讯传输内容有XML不允许的特殊字符,我暂且叫它乱码。
这些乱码导致XML解析报错An invalid XML character (Unicode: 0x**) was found in the comment. 或者其他相同的意思。
解决办法有2个:
1是叫第三方通讯传输内容控制乱码,比如0x1c等等
2是自己在解析xml之前,对内容进行乱码过滤
第2个办法,在网上搜到一个解决方案,我觉得有效,但还没有尝试,毕竟要先尝试第1种情况,与第三方叙述问题。
[java] view
plain copy
这些错误的发生是由于一些不可见的特殊字符的存在,而这些字符对于XMl文件来说又是非法的,所以XML解析器在解析时会发生异常,官方定义了XML的无效字符分为三段:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
解决方法是:在解析之前先把字符串中的这些非法字符过滤掉:
[java] view
plain copy
string.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
办法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解析报错An invalid XML character (Unicode: 0x**) was found in the comment. 或者其他相同的意思。
解决办法有2个:
1是叫第三方通讯传输内容控制乱码,比如0x1c等等
2是自己在解析xml之前,对内容进行乱码过滤
第2个办法,在网上搜到一个解决方案,我觉得有效,但还没有尝试,毕竟要先尝试第1种情况,与第三方叙述问题。
[java] view
plain copy
这些错误的发生是由于一些不可见的特殊字符的存在,而这些字符对于XMl文件来说又是非法的,所以XML解析器在解析时会发生异常,官方定义了XML的无效字符分为三段:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
解决方法是:在解析之前先把字符串中的这些非法字符过滤掉:
[java] view
plain copy
string.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
办法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解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- 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解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x0) was found in the CDATA sectio
- org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x0) was found in the CDATA sectio
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found
- 关于Cookie的An invalid character [32] was present in the Cookie value异常
- An invalid character was found in text content!
- All About JAVA An invalid XML character (Unicode: 0xdd65) was found in the comment 错误
- java.lang.IllegalArgumentException: An invalid character [44] was present in the Cookie value
- HTTP Status 500 - An invalid character [44] was present in the Cookie value
- java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie value
- An invalid character [34] was present in the Cookie value] with root cause
- [Store:280041]An record was found in the file store with an invalid version of 5
- Xcode7 真机调试出现错误:The executable was signed with invalid entitlements.(The entitlements specified in y
- 解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found
- 解决在Tomcat7.0以上版本,Invalid character found in the request target问题
- Invalid character found in the request target. 的解决办法