2012-07-27 2 views
1

stax를 사용하여 xml 파일을 구문 분석하고 추출한 데이터를 데이터베이스에 씁니다. 그것은 작은 파일에 대해 작동하지만 큰 파일을 구문 분석 할 때이 예외가 발생합니다. xml 파일을 보면 주어진 행과 열에 따라 gud입니다. 아무도 알려주지 못했습니다, 왜 이런 일이 일어나고 있습니까?예기치 않은 EOF; 요소에 대한 닫기 태그가 필요합니다.

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

+0

파싱하는 동안 다른 [행, 열]을 생성하고, 그 반복을 반복하지 않습니다. – srp

+0

어떻게 xml 파일을 Stax 파서에 제공하고 있습니까? 너무 빨리 스트림의 끝에 도달하는 것처럼 보입니다. – jtahlborn

답변

0

나는 같은 문제에 직면했다. wstx-asl.jar 및 stax2-api-3.1.1.jar의 파일 구조는 비슷합니다. 그래서 stax2-api-3.1.1.jar에서 선택하는 대신 wstx-asl.jar에서 잘못 가져 왔는데 예외로 인해 예외가 발생했습니다. classpath에서 wstx-asl.jar을 제거하면 문제가 해결되었습니다.

관련 문제