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클래스를 사용할 수 있습니다.
'Development > Android' 카테고리의 다른 글
XmlPullParser 주요 메소드, next()와 getEventType()메소드 호출시 반환되는 속성 (0) | 2018.01.10 |
---|---|
DefaultHandler (0) | 2018.01.09 |
XML Parser (XML 파서) (0) | 2018.01.09 |
XML(Extensible Markup Language) - XML 파서, 안드로이드가 지원하는 XML 파서의 종류 (0) | 2018.01.09 |
Bundle(번들, 번들 객체), 인텐트로 데이터 전달 메소드 (0) | 2018.01.08 |