org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence。解析xml,出现该异常。
SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(new File(responseXmlPath)); Element foo = doc.getRootElement();
在生成Document 对象时,Eclipse编译文件的编码或者文件所在地的编码和该文件需要的编码不一致,会产生该异常。 解决办法:在生成该文件或者向文件中写入文件时,指定为所需编码。如:
BufferedWriter bw = null; try { bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(new File(responseXmlPath)), "UTF-8")); bw.write(resultStr); bw.flush(); } catch (UnsupportedEncodingException e) { logger.error("when create OutputStreamWriter, encoding error", e); } catch (IOException e) { logger.error("when write resultStr to responseXml error:", e); } finally { if (bw != null) try { bw.close(); } catch (IOException e) { logger.error( "when finally close the BufferedWriter error:", e); } }
最好在获取Documen的时候,也用指定编码的IO获取。
Document doc = builder.build(new InputStreamReader( new FileInputStream(new File(responseXmlPath)), "UTF-8"));
但是生成文件时,必须指定为所需编码。
相关推荐
NULL 博文链接:https://wilian.iteye.com/blog/1992365
首先,让我们来看看标题和描述中提到的具体错误:"org.xmlpull.v1.XmlPullParserException: PI must not start with xml" 和 "org.xml.sax.SAXParseException: PI must not start with xml"。这两个错误都是由于XML...
org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'area'. One of '{MathWorksID, type}' is expected. 运行hosaver: Warning: Could not find an exact ...
javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.: org.xml.sax.SAXParseException: The element type "p" must be terminated by the matching end-tag ...
2. **XML处理**:DOM4J提供了多种方式处理XML,包括DOM、SAX和StAX等解析器的集成。DOM允许整个文档在内存中加载,适合小规模的XML文档;SAX是基于事件驱动的解析,适用于大文件;而StAX则是迭代模型,介于两者之间...
BeRoot, 特权升级项目 Windows/Linux/Mac BeRoot项目BeRoot项目是一个发布工具,用于检查常见的以找到一种方法来升级我们的特权。它已经被添加到 pupy 项目作为一个post开发模块( 所以它将在内存中执行而不需要触摸...
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=...
- **SAX(Simple API for XML)**:是一种基于事件驱动的XML解析器,适用于处理大型XML文档,因为它不会一次性加载整个文档到内存中。 - **XPath API**:用于在XML文档中定位元素和属性,提供了一种简洁的方式来查询...
好多版本是会报错的,[Fatal Error] :24:28: An ... org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xd863) was found in the element content of the documen.,这个版本是纠正过后重新打包做的
在使用`sax-2.0.1.jar`这个库时,确保将其添加到项目的类路径中,以便Java运行时环境能找到并加载相关的类。这个版本的SAX库支持XML 1.0和1.1规范,包含了处理XML命名空间的功能。 总的来说,SAX解析器是Java处理...
好多版本是会报错的,[Fatal Error] :24:28: An ... org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xd863) was found in the element content of the documen.,这个版本是纠正过后重新打包做的
STAX(Streaming API for XML)是一种低级别的XML解析方法,相比DOM(Document Object Model)和SAX(Simple API for XML),STAX提供了一种更加灵活且高效的处理XML的方式。在STAX中,应用程序通过调用事件生成器来...
2. **XPath支持**:DOM4J支持XPath表达式,这是对XML文档进行查询的强大工具。通过XPath,我们可以快速定位XML文档中的特定节点,进行数据提取或更新。 3. **事件驱动解析(SAX)**:DOM4J也支持SAX解析器,适用于...
3. **xercesImpl.jar**:这是Apache Xerces2 Java XML解析器的实现,它符合XML 1.0和1.1标准以及相关的W3C规范,如DOM、SAX(Simple API for XML)和XML Schema。Xerces提供了解析XML文档、验证XML模式、处理命名...
SAX(Simple API for XML)是一种轻量级的解析XML数据的方法,相比于DOM解析,它更节省内存,更适合处理大型XML文件。SAX是事件驱动的解析器,它读取XML文档并触发一系列的事件,如开始文档、开始元素、字符数据等,...
- `org.xml.sax`:基础的SAX解析包。 - `javax.xml.parsers.SAXParserFactory`:创建`SAXParser`的工厂。 - `javax.xml.parsers.SAXParser`:进行SAX解析的主要类。 - **DOM解析:** - `org.w3c.dom`:DOM的核心...
1. **XML 文档创建**:JDOM 提供了构建 XML 文档的 API,可以逐个元素地添加节点,或者使用 SAX 或 DOM 解析器从已有 XML 文件创建文档对象模型。 2. **XML 文档读取**:JDOM 可以解析 XML 文件,并将其转换为内存...
解决启动dubbo项目的时候出现,无法读取方案文档 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd',其实在你本地把dubbo.jar文件解压,然后在META-INF下边就有个dubbo.xsd,就是他
XmlParser 是另一种用于解析XML的工具,它是基于SAX(Simple API for XML)的解析器,适合处理大体积的XML文件,因为它采用事件驱动的方式,不会一次性加载整个XML文档到内存中。这种方式可以有效避免内存消耗过大的...
### 西门子执行器SAX61.03关键知识点解析 #### 一、产品概览 **西门子SAX61.03**是西门子楼宇科技系列中的一款电动阀门执行器,主要应用于暖通空调系统的控制与安全切断。这款执行器能够直接安装在阀门上,并且具有...