我遇到了一个非常奇怪的情况。 我有 2 个 XML,我正在尝试将它们合并并形成一个 XML。 我正在使用 STAX Parser 来实现它。
它可以完美地处理小文件,但当文件大小超过 300 KB(我认为不是很大)时就会失败。
此处不发布 XML 或代码,因为它非常大。
请找出下面的错误
java.lang.ArrayIndexOutOfBoundsException: -32769
at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl$ElementStack.peek(Unknown Source)
at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.closeStartTag(Unknown Source)
at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeStartElement(Unknown Source)
at com.sun.xml.internal.stream.writers.XMLEventWriterImpl.add(Unknown Source)
XML 没有问题。我收到错误的行是
eventWriter.add(事件);。这里 eventWriter 是 XMLEventWriter 的实例,而 event 是 XMLEvent
如果有人遇到类似的错误,请告诉我。
我能够解决上述问题。这与 STAX 无关。代码中存在一些漏洞,我现在已经修复了。
我也有同样的经历。如果您分享您在代码中确切发现的内容,我将不胜感激。如果问题在其他地方,为什么这个类会出现这种现象?