2014-10-30 8 views
4

SAX와 Pull Parser의 주요 차이점을 찾고 있습니다. XML을 저장하지 않고 한 방향으로 만 이동하므로 SAX 파서가 큰 XML 파일을 처리하는 데 적합하다는 것을 알고 있습니다. DOM에 비해 그러나 SAX와 PULL의 주요 차이점을 발견 할 수 없습니다. 어떤 링크 나 제안 해주세요XML Pull Parser와 SAX Parser의 차이점

+0

SAX의 *을 읽어주십시오, 그러나 다른 사람, 예를 들어,가 DOM. – EJP

+0

SAX는 밀어 넣기 구문 분석기입니다. StAX는 끌어 오기 구문 분석기입니다 (아래의 비교 링크 참조). – BarrySW19

답변

2

차이점은 XML 프로세서를 코딩하는 방법입니다. SAX 파서의 경우 XML을 읽는 동안 발생하는 이벤트에 응답하는 메서드가있는 클래스를 제공하는 이벤트 기반 모델을 사용합니다 (Oracle tutorial here).

끌어 오기 파서의 경우 XML 비트가 읽히는 시간을 제어 할 수 있으며 파서 핸들을 다양한 클래스로 전달하여 문서의 다른 비트 (Oracle tutorial here)를 처리 할 수 ​​있습니다.

오라클의 기술 비교는 here입니다. 핸들러를 호출파서, 즉 파서는 예를 들어 파서푸시 모델이라고 핸들러에 이벤트를 밀어

+0

감사합니다. 이것에 대한 튜토리얼 링크를 제공하면 더 도움이 될 것입니다 .. –

+0

links to reply – BarrySW19

1

. SAX 파서

SAX 파서 -> 푸시 모델 처리기

, 당신은 언제 어떻게 해석 반복 파일을 통해 제어 할 수 없습니다.

핸들러 클래스는 파서 호출 또는 핸들러 클래스 때 다음 이벤트에 이동하는 파서를 제어 할 때 풀 파서라고합니다. 여기에서 Handler는 파서에서 XML 이벤트를 "가져옵니다". 예. StAX를

처리기 -> StAX를 파서

자세한 내용은, * 풀 파서를 http://tutorials.jenkov.com/java-xml/sax-vs-stax.html