2014-11-11 1 views
1

그래서 여러 개의 데이터 항목을 포함하는 큰 XML 파일을 읽는 프로그램이 있습니다. 따라서 원래 XML 파일로 작성된 40,000 개의 개별 항목이 포함 된 데이터베이스를 사용했지만 모든 항목이 포함 된 XML 파일 하나를 다운로드 할 수 있습니다. 그러나이의 때문에, XML 선언 요소 : -[xX] [mM] [1L] Java에서 처리하는 방법

<?xml version="1.0" encoding="UTF-8"?> 

는 문서 전체를 여러 번이라고, 나는 StAX를 파서의 사용을 통해이 다루는 몇 가지 방법이 있었는지 궁금 해서요.

편집 : 내가 제대로 내 문서를 구문 분석하고 오류를 반환 유지로 모든 것을 읽을 수없는 것을 상기해야한다 : -

Exception in thread "main" javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1062,6] 
Message: The processing instruction target matching "[xX][mM][lL]" is not allowed. 

XML 선언이 여러 번 언급되어 있다는 사실 때문이다. 감사

+2

http://stackoverflow.com/questions/19889132/xslthe-processing-instruction-target-matching-xxmmll-is-not-allowed – Stefan

+0

감사합니다. – user2062207

+0

그러나 명확히하기 위해 문서를 반복하여 user2062207

답변

0

당신이 가짜 <?xml ?> 선언 (들)을 제거 할 때까지 well-formed이 없기 때문에, 당신은 XML로 파일을 취급 할 수 없다. 먼저 수동으로 또는 프로그래밍 방식으로 텍스트로 처리하여 추가 XML 선언을 XML로 구문 분석하기 전에 제거하십시오. 일반

The processing instruction target matching "[xX][mM][lL]" is not allowed.

오류가 발생하는 모든 방법에 대한 정보와 각 방법을 해결하기위한 구제를 들어

참조 this answer (스테판에 의해 제안).

관련 문제