2013-01-22 1 views
2

속성이 따옴표 안에 들어 있지 않아 유효하지 않은 일부 XML을 구문 분석하려고합니다.이 문제를 해결할 수있는 방법이 있습니까? 이것에 대한 간단한 예제와 자바 코드.자바 SAXParser 잘못된 xml 파싱

XML

<car id=1> 
. 
. 
</car> 

자바

SAXParserFactory factory = SAXParserFactory.newInstance(); 
    factory.setValidating(false); 
    SAXParser saxParser = factory.newSAXParser(); 
    saxParser.parse(page, handler); //page is an input stream where the xml is. 

감사합니다. 당신은 무엇

답변

7

정형식 문제가 아니라 검증 문제 (사용자가 게시 된 코드 만 검증을 해제한다)입니다. XML Parser는 xml이 잘 형성되도록 요구하며 대부분 유효성 검사 문제 만 용서하기 위해 작성됩니다. JSoup과 같은 html 파서를 보면 모양이 올바른지에 대해 용서하고 자동 수정을 시도 할 때 더 좋은 기회를 가질 수 있습니다.

Read this article 잘 형성됨과 유효성의 차이점을 이해합니다.

+0

고마워, jsoup를 사용하여 xsml을 자동으로 수정하는 방법을 알고 싶습니다. – JCS

+0

jsoup가 자동 수정된다는 것은 아닙니다. 나는 당신이 가지고있는 나쁜 xml을 자동으로 수정하는 데 사용할 수있는 자동 고침 HTML 파서 (http://ccil.org/~cowan/XML/tagsoup/)를 둘러 볼 것을 제안합니다. –

+0

@ Pangea 방금 jsoup에서 XML을 구문 분석하려고했으나 (Jsoup.parse (string)을 사용하여) xml을 수정했습니다. 감사합니다. – JCS