Passion/Python

Python에서 SAX 사용하기

sunshout 2009. 7. 21. 11:54

SAX: Stansard API for XML 로 XML을 처리하기 위한 패키지 이다.



Python에는 SAX 외에도 Minidom을 이용하여 XML을 처리할 수도 있다.
간단한 XML파일 파싱시에는 Minidom을 사용하는 것도 편리하다.

SAX의 기본 구조는 3가지로 이루어져 있다.
1) Parser : XML을 파싱한다.
2) Handler : 주요 동작을 처리하고 이를 Application에 전달하는 기능을 한다.
   ~ Handler는 ContentHandler, DTDHandler, ErrorHandler, EntityResolver로 구성되어 있다

기본 사용법

기본 코드 (Language : python)
from xml.sax import make_parser
from xml.sax.handler import ContentHandler

# handler 클래스를 정의한다
class xxxHandler(ContenetHandler):
   ....
# handler 인스턴스를 생성한다
obj = xxxHandler()
# XML 파서를 생성한다
parser = ...

# 만들어진 파서에 클래스 인스턴스를 등록한다.
parser.setContentHandler(obj)

# 파서 처리
parser.parser(sys.stdin)
parser.parser('xxx,xml')

 


 

728x90