提问人:TryingToCode 提问时间:11/9/2018 最后编辑:TryingToCode 更新时间:11/9/2018 访问量:164
Java 中的 Sax Stax 块处理
Sax Stax Chunks Processing in Java
问:
提到它的 Stax 和 Sax 解析器字符方法在文档中返回数据块,但我收到内存不足,任何人都可以解释一下吗?如果可能的话,举个例子,我正在尝试读取一个 Xml,该 Xml 在一个 xml 标签之间具有大量内容。
<x>......too long data...</x>
看看我是否可以覆盖这个或我可以设置的一些属性?我发现我们可以在最新版本中设置 CDATA_CHUNK_SIZE = “jdk.xml.cdataChunkSize”,但这对我来说不是一个选择。
在 Stax 解析器中:“处理器可以在单个块中返回所有连续的字符数据,也可以将其拆分为多个块。
在 SAX 解析器中:characters 方法 "
字符(char[] ch, int start, int length)
接收字符数据的通知。
解析器将调用此方法来报告每个字符数据块。SAX 解析器可以在单个块中返回所有连续的字符数据,也可以将其拆分为多个块;但是,任何单个事件中的所有字符都必须来自同一个外部实体,以便定位器提供有用的信息。 "
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.sun.org.apache.xerces.internal.util.XMLStringBuffer.append(XMLStringBuffer.java:208)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(XMLEntityScanner.java:1370)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(XMLDocumentFragmentScannerImpl.java:1654)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3020)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:558)
at com.javacodegeeks.StAXParserDemo.main(StAXParserDemo.java:65)
答: 暂无答案
评论