Xml:MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
来源:互联网 发布:苹果电脑mac怎么下游戏 编辑:程序博客网 时间:2024/05/18 08:43
<span style="color:#003300;">今天在解析XML出问题了,以前代码是没有问题的. 发现是客户接口那边多了些原来没有的字符导致的. </span>
<span style="color:#ff0000;">com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.</span>at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:372)at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1074)at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:948)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1507)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1280)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2717)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:237)at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)at javacommon.util.DomXmlParseUtils.getDocument(DomXmlParseUtils.java:53)at javacommon.util.DomXmlParseUtils.getNode(DomXmlParseUtils.java:63)at com.buyantech.qb.controller.QBController.convertRichText2SimpleText(QBController.java:444)at com.buyantech.qb.controller.QBController.remoteChildSystemInfoList(QBController.java:391)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)
导致的原因可能是:
1.如果是读取外部配置文件出现这个错误,可能是xml 声明为UTF-8格式,保存用的别的格式. 这样咱们在处理的时候,怎么看xml里面的格式都是对的,实际是文件保存的格式不对. 解决办法:另存为一致格式.
2.调用接口获取到的XML文档字符串,我们在将其转换成Java中Document时,调用xmlString.getBytes(); 这里用的平台的默认字符集,如果有字符不支持也会报错.
解决办法如下:
原异常代码:
ByteArrayInputStream bis = new ByteArrayInputStream(xmlContent.getBytes()); return DOCUMENT_BUILDER.parse(bis);
ByteArrayInputStream bis = new ByteArrayInputStream(<span style="color:#006600;">xmlContent.getBytes("UTF-8")</span>); return DOCUMENT_BUILDER.parse(bis);
记录下.
0 0
- Xml:MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
- xml:Invalid byte 2 of 2-byte UTF-8 sequence
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
- Invalid byte 2 of 2-byte UTF-8 sequence解决方案
- 错误“Invalid byte 2 of 2-byte UTF-8 sequence ”
- Invalid byte 2 of 2-byte UTF-8 sequence.异常
- xstream:Invalid byte 2 of 2-byte UTF-8 sequence
- Invalid byte 2 of 2-byte UTF-8 sequence解决方案
- Invalid byte 2 of 2-byte UTF-8 sequence
- Invalid byte 2 of 2-byte UTF-8 sequence
- Android 编译 发生 MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence
- jdom解析xml时报错:Invalid byte 2 of 2-byte UTF-8 sequence
- org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence.
- sax 解析 xml异常 Invalid byte 2 of 2-byte UTF-8 sequence
- xml解析错误:UTFDataFormatException: invalid byte 2 of 2-byte UTF-8 sequence (0xfd)
- Dom4j 操作xml出现错误:Invalid byte 2 of 2-byte UTF-8 sequence.
- 导入XML文档后,出现 Invalid byte 2 of 2-byte UTF-8 sequence 错误
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence问题原因,以及解决方案
- c++ : 过程抽象和返回值的函数
- 读取ARCGIS server发布出来的图层属性信息
- 一种免费下载CNKI、维普等资源的方法
- 抽象工厂模式
- Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例
- Xml:MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
- CodeForces 494A Treasure
- Android面试-如何动态改变RelativeLayout中的按钮布局
- uva 10719 Quotient Polynomial
- ANDROID开发之SQLite详解
- DB2 DBA技能要求
- HDU - 2817 - A sequence of numbers (快速幂取模!)
- 树-堆结构练习——合并果子之哈夫曼树
- 第十六周 Problem C:相同的数字