2012-07-27 376 views
1

我通過使用stax的xml文件解析並將提取的數據寫入數據庫。它適用於小文件,但是當我解析一個大文件時,它會拋出這個異常。看看這個xml文件,它是根據給定的行和列來顯示的。請問任何人都可以告訴我,爲什麼會發生這種情況?意外的EOF;期待元素的關閉標記<attribute>

com.ctc.wstx.exc.WstxEOFException: Unexpected EOF; was expecting a close tag for element <attribute> 
at [row,col {unknown-source}]: [787,1401] 
at com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOF(StreamScanner.java:686) 
at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2730) 
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019) 
at com.ctc.wstx.evt.WstxEventReader.nextEvent(WstxEventReader.java:196) 

sun.reflect.GeneratedMethodAccessor3625.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122) 
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) 
+1

很難說沒有看到你解析的實際文件,至少是導致錯誤的部分。 – Egor 2012-07-27 15:01:11

+0

它在解析時生成不同的[row,col],它不會一遍又一遍地重現它。 – srp 2012-07-27 15:07:25

+0

你如何將xml文件提供給Stax解析器?它看起來好像越來越快到了流的盡頭。 – jtahlborn 2012-07-27 15:31:16

回答

0

我正面臨同樣的問題。 wstx-asl.jar和stax2-api-3.1.1.jar中的文件結構相似。所以,不是從stax2-api-3.1.1.jar中選擇,而是從wstx-asl.jar中錯誤地提取出來的,因此發生了異常。從類路徑中移除wstx-asl.jar解決了問題。