我想知道Xerces.jar的实现 Xerces.jar是一个DOM解析器或SAX解析器。 当我尝试读取一个巨大的XML文件时,我收到以下错误消息。请帮忙 java.lang.StackOverflowError的
at org.apache.xerces.dom.ParentNode.readObject(Unknown Source)
at sun.reflect.GeneratedMethodAccessor569.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1098)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1948)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1948)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1872)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1756)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1342)
答案 0 :(得分:0)
两者。
这是甜点打顶和地板蜡:)
PS: 请在堆栈中发布实际发生异常的空间。你好像把它遗漏了:))
PPS: 另见:
由于解析器构造内容模型的方式 具有复杂内容的元素,为其指定大值 minOccurs或maxOccurs属性可能导致解析器抛出一个 的StackOverflowError。应避免使用minOccurs的大值,并且 应该使用unbounded而不是maxOccurs的大值。
考虑关闭模式检查,或更改minOccurs / maxOccurs: