`
m635674608
  • 浏览: 5028771 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多

总结一下,这个问题主要出现的原因有两点。

 

1、XML内容不正确,比如多个空格,换行等等。需要仔细排查;

2、使用Stream读取流文件不正确,详细如下:

 

读写文件时,一般采用的是每次从inputStream中read 一个有固定大小的byte array时,这时候在

 

byte[] array = new byte[1024];

 

BufferedInputStream buffInput = new BufferedInputStream(inputStream);

FileOutputStream fileOS = new FileOutputStream(targetFile);

BufferedOutputStream buffOS = new BufferedOutputStream(fileOS);

int word = 0;

while ((word = buffInput.read(array)) != -1){

buffOS.write(array);

}

 

 

上面的写法,如果最后一次read到array中不足1024的时候,前一次read的byte同样会出现在byte[]中,从而导致XML解析失败。因此可以采用下面的方法:

 

 

BufferedInputStream buffInput = new BufferedInputStream(inputStream);

FileOutputStream fileOS = new FileOutputStream(targetFile);

BufferedOutputStream buffOS = new BufferedOutputStream(fileOS);

int word = 0;

while ((word = buffInput.read()) != -1){

buffOS.write(word);

}

分享到:
评论

相关推荐

    org.xml.sax.SAXException: Invalid element

    NULL 博文链接:https://wilian.iteye.com/blog/1992365

    android layout XML解析错误的解决方法

    首先,让我们来看看标题和描述中提到的具体错误:"org.xmlpull.v1.XmlPullParserException: PI must not start with xml" 和 "org.xml.sax.SAXParseException: PI must not start with xml"。这两个错误都是由于XML...

    BeRoot, 特权升级项目 Windows/Linux/Mac.zip

    BeRoot, 特权升级项目 Windows/Linux/Mac BeRoot项目BeRoot项目是一个发布工具,用于检查常见的以找到一种方法来升级我们的特权。它已经被添加到 pupy 项目作为一个post开发模块( 所以它将在内存中执行而不需要触摸...

    解析XML所需的jar sax.jar

    1. **SAX解析器接口**:`org.xml.sax.XMLReader`是SAX解析器的核心接口,它负责读取XML文档并触发事件。 2. **内容处理器**:在SAX解析过程中,我们需要实现`org.xml.sax.ContentHandler`接口,该接口定义了一系列...

    Matlab高阶谱分析(HOSA)工具箱及安装方法

    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 ...

    java调用net开发的webservice实例

    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 ...

    org.dom4j.jar

    DOM4J是基于DOM和SAX的XML解析库,它的设计目标是提供一个灵活且易于使用的API,用于处理XML文档。它具有以下关键特性: 1. **文档模型**:DOM4J提供了一种面向对象的XML文档模型,允许开发者以树形结构来操作XML...

    sax解析xml本地读取xml

    1. **初始化解析器**:首先,我们需要创建一个SAX解析器实例,这通常通过实现`org.xml.sax.XMLReader`接口或使用`javax.xml.parsers.SAXParserFactory`类来完成。 2. **设置事件处理器**:SAX解析器在解析XML文档时...

    Java解析XML文档(二):sax读取xml文件导出excel

    首先,创建一个继承自`org.xml.sax.helpers.DefaultHandler`的类,重写其中的方法,如`startElement()`、`endElement()`和`characters()`,以处理XML元素的开始、结束和字符数据。 2. **注册解析器**: 使用`org....

    spring5 SAXParseException:cvc-elt.1: 找不到元素“beans 的声明详解

    首先,`SAXParseException`是XML解析过程中抛出的异常,表明在解析XML文档时遇到了结构上的问题。`cvc-elt.1`是一个XSD(XML Schema Definition)错误代码,表示在验证过程中找不到某个元素的声明。在这个特定的情况...

    华为短信开发包smproxy.jar,完美无bug版

    好多版本是会报错的,[Fatal Error] :24:28: An ... org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0xd863) was found in the element content of the documen.,这个版本是纠正过后重新打包做的

    System.XML.dll System.XML.DLL

    在处理大型XML文件时,可以考虑使用SAX(Simple API for XML)模型的`XmlReader`或基于XPath的`XPathDocument`,它们只读取和处理当前节点,降低了内存占用。 总结,`System.XML.dll`是.NET开发中处理XML的重要库,...

    2020-10-29日自己保存华为短信开发包smproxy.rar

    好多版本是会报错的,[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的jar包,xml

    1. **导入所需库**:首先,需要在代码中导入SAX解析器的类,例如`org.xml.sax.XMLReader`和`org.xml.sax.helpers.DefaultHandler`。 2. **创建事件处理器**:定义一个继承自`DefaultHandler`的类,重写其中的回调...

    Unity3D中Mono.Xml和XmlParser的使用

    XmlParser 是另一种用于解析XML的工具,它是基于SAX(Simple API for XML)的解析器,适合处理大体积的XML文件,因为它采用事件驱动的方式,不会一次性加载整个XML文档到内存中。这种方式可以有效避免内存消耗过大的...

    SAX_XML.rar_XML SAX_sax xml_xml

    SAX(Simple API for XML)是XML解析器的一种,它以事件驱动的方式解析XML文档,而非DOM(Document Object Model)解析器那样将整个XML文档加载到内存中。SAX解析器在处理大型XML文件时更高效,因为它只在需要时读取...

    一个关于sax解析xml的demo

    2. 创建一个实现了`org.xml.sax.helpers.DefaultHandler`接口的类,覆盖上述提到的事件处理器方法,定义具体的业务逻辑。 3. 实例化`SAXParserFactory`,并调用`newSAXParser()`方法创建`SAXParser`对象。 4. 使用`...

    XML.rar_XML SAX_XML java_dom xml_java xml_java解析xml

    - 创建SAX解析器:使用`org.xml.sax.helpers.DefaultHandler`定义事件处理器,并通过`org.xml.sax.XMLReader`设置处理器。 - 解析XML文件:使用`XMLReader`的`parse()`方法解析XML文件。 - 处理事件:在事件处理器的...

    XML_DOM_SAX.rar_ XML_DOM_SAX_c# sax_dom解析xml_xml parser csharp_x

    在这个"XML_DOM_SAX.rar"压缩包中,包含了可能的C#代码示例,用于演示如何使用DOM和SAX解析XML。`www.pudn.com.txt`可能是包含相关资源链接的文本文件,而`XML_DOM&SAX`可能是包含C#代码的文件,可以解压后查看具体...

    Xml-GET-SAX.zip_get2326

    import org.xml.sax.helpers.DefaultHandler; import javax.xml.parsers.SAXParserFactory; public class SaxExample extends DefaultHandler { @Override public void startElement(String uri, String local...

Global site tag (gtag.js) - Google Analytics