SAX (Simple API for XML) 파서, SAX 기본핸들러(DefaultHandler)

CODEDRAGON Development/Android

반응형


 

 

SAX (Simple API for XML) 파서

·       XML 문서를 해석과 동시에, 특정 이벤트를 발생시키는 파서입니다.

·       이벤트는 이벤트 처리 핸들러에서 해석되며 SAX 파서가 직접 이벤트 핸들러 메소드를 호출합니다.

·       SAX는 문서를 순서대로 읽으면서 이벤트를 발생시키는 식이라 메모리를 거의 사용하지 않으며 실행 속도가 빠릅니다.

·       만약 딱 한번만 읽는다면 DOM보다 훨씬 빠르며 원하는 노드만 골라 읽을 수도 있고 중간에 파싱을 그만 둘 수도 있습니다.

·       SAX읽기만 하는데 비해 DOM은 노드를 삽입할 수도 있다는 차이점이 있습니다.

 

 

SAX 기본핸들러(DefaultHandler)

SAX(Simple API for XML) 1.0 에서는 네 가지 기본핸들러(DefaultHandler)를 제공합니다.

DefaultHandler

설명

ContentHandler

XML 문서를 처리하는데 대부분의 기능이 구현되어 있는 이벤트 핸들러

ErrorHandler

XML 문서 파싱 도중 발생하는 에러와 관련된 이벤트 핸들러

DTDHandler

노테이션 선언이나 파싱되지 않은 엔티티 등을 위한 이벤트 핸들러

EntityResolver

외부 엔티티와 관련된 이벤트 핸들러

여기에 있는 핸들러를 구현하기 위해서는 핸들러 인터페이스에 정의되어 있는 모든 이벤트 메소드를 구현해야 합니다. 만약 한 가지 메소드라도 구현을 누락하면 컴파일 에러가 발생합니다. 그래서 사용하지 않는 메소드를 매번 구현해야 하는 번거로움이 있습니다.

기본핸들러를 사용하기 위해 매번 구현해야 했던 번거로운 문제를 해결하기 위해서는 DefaultHandler클래스를 사용할 수 있습니다.

 

 

 

반응형