티스토리 뷰
C++용 XML파서는 여러 가지가 있습니다. 몇가지를 나열해 보자면,
MSXML(DOM 방식)
성능 비교
SAX 방식이 성능에서 강점을 보이기는 하지만 여전히 DOM 방식의 파서도 사용을 할 예정인데, 크지 않은 파일의 분석이나 설정파일등과 같이 하나씩 접근해서 데이터를 읽어오는 경우에는 DOM 방식이 편합니다.
DOM 방식을 사용하다가 SAX 방식으로 바꾸려니 개념도 안잡히고 쉽지 않았는데, stack을 사용하니 좀 나아지더군요. SAX 방식의 파서를 이용할때는 stack 사용을 강추합니다. --)b
- MSXML
- XmlLite
- expat : SAX 방식만 지원. http://expat.sourceforge.net/
- xerces : 웹서버 apache 에서 사용. http://xerces.apache.org/xerces-c/
- TinyXml : DOM방식만 지원. 간편한 사용방식. utf-16 미지원. http://www.grinninglizard.com/tinyxml/
MSXML(DOM 방식)
- 처음에 한번에 다 로딩하고 데이터를 접근할때는 순차적으로 접근해 가는 방식이라 코딩이 쉽다.
- 큰 데이터 분석에 느림
- windows 하위 버젼에서도 사용이 가능
- 참고 URL : http://semtle.kumoh.ac.kr/~semtle/zb5/?mid=224&sid=221&article_srl=2846
- 순차적으로 파싱하면서 이벤트 CallBack(StartElement, EndElement, Text)을 불러주기 때문에 코딩이 쉽지 않다.
- 큰 데이터 분석에 강함
- windows XP sp2부터 사용이 가능
- 참고 URL
성능 비교
- XML 파일의 spec : 필드 35개, 레코드 5400개, 용량 17MB
- MSMLX(DOM 방식) : debug 90초, release 62초
- XmlLite : debug 15초, release 1.5초
SAX 방식이 성능에서 강점을 보이기는 하지만 여전히 DOM 방식의 파서도 사용을 할 예정인데, 크지 않은 파일의 분석이나 설정파일등과 같이 하나씩 접근해서 데이터를 읽어오는 경우에는 DOM 방식이 편합니다.
DOM 방식을 사용하다가 SAX 방식으로 바꾸려니 개념도 안잡히고 쉽지 않았는데, stack을 사용하니 좀 나아지더군요. SAX 방식의 파서를 이용할때는 stack 사용을 강추합니다. --)b
'Study > Language >' 카테고리의 다른 글
Thread - Multi Thread Vs. Multi Process (0) | 2011.09.16 |
---|---|
cron crontab -e 크론탭!! 으악???! (0) | 2011.08.12 |
주석의 종류 (0) | 2010.11.24 |
해쉬 테이블 소스 ( GNU ) (0) | 2010.08.13 |
리스트 소스 (0) | 2010.08.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Jake Yoon
- 서버개발자
- AndroidWear
- gdg watchfacehack
- jakeyoon
- 해커톤
- 그래비트랙스
- 안드로이드폰
- 숭실대
- 리눅스 커널 2.6 구조와 원리
- GDG SSU
- WatchFaceHack
- 안드로이드
- 하쭈서쭈
- 리눅스 커널 2.6
- 창의과학교구
- Linux
- 릴레이대회본선
- GDG
- 리눅스2.6
- yjaeseok
- 윤재석
- 창조경제혁신센터
- watchface
- jaeseokyoon
- 소설네트워크2
- gdgssu
- 리눅스
- Developing on AWS
- 핸즈온머신러닝
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함