2014-10-16 4 views
3

제어 할 수없는 외부 소스에서 XML 파일을 받고 있습니다. 일부 XML 파일이 손상되었습니다. 특히 파일의 끝 부분에 일부 종료 태그가 없습니다. 다음과 같이 바뀝니다.Java에서 깨진 XML 파일을 구문 분석하려면 어떻게해야합니까?

<?xml version="1.0" encoding="UTF-8" ?> 
<a> 
    <b> 
    <c/> 
    </b> 
    <b> 
    <c/> 
</a> 

일치하는 닫는 태그가없는 요소는 무시하면 시스템이 정상적으로 작동한다고 생각합니다.

그런 XML 파일에서 나는 무엇을 파싱 할 수 있습니까?

+0

문서에 대한 스키마가 있습니까? 오류에서 얼마나 쉽게 복구 할 수 있는지에 차이가있을 수 있습니다 ... – xdhmoore

+0

다양한 방법으로 이러한 오류를 복구 할 수있는 구문 분석 기법이 있습니다. 그러나 나는 XML을 위해 무엇이 가능할 지 모른다. 그리고 당신이 그것을 스스로 개발하고 싶지는 않습니다. – babou

+0

StAX를 사용하면 속임수를 쓰는 것처럼 보입니다 –

답변

1

수동으로 직접 구문 분석해야합니다. XML 구문 분석기는 형식이 올바르지 않은 XML에서는 작동하지 않습니다. 하나의 가능성은 SAX 파서를 사용하는 것입니다, 그것은 오류까지 문서를 파싱하고 멈 춥니 다.

0

XML 파서는 이러한 종류의 동작을 지원해서는 안됩니다. 그러나 당신이 반응 할 수있는 파일에 무엇이 잘못되었는지를 알 수 있다면, 그것을 정리하고 다시 시도하십시오.

0

JSoup가 작동하는 경우 Idk. 그것은 HTML을 용서하기로되어 있습니다. XML에 관한 Idk.

관련 문제