XML 파싱 시 DOM방식과 SAX방식 비교
dom과 sax 방식 비교 및 적합한 사용 방법.
dom방식
- xml 문서 전체를 메모리에 로드
- 노드 들을 빠르게 검색 하고 데이터의 수정과 구조 변경이 빠름
- 소스코드 비교적 직관적
sax방식
- xml 문서를 순차적으로 읽어 내려가며 노드가 열리고 닫히는 부분에 이벤트 구현
- 메모리 사용량이 적고 단순히 읽기만 할때 빠름. 단순 1회 순회하여 처리하는 프로세스에 유리함.
- 여러번 검색을 하는 경우 혹은 수정을 하는 경우 번거롭고 느림
- 소스코드 복잡
결론
- 처리할 xml 노드의 길이가 짧아 0.5초이내에 처리가능하다 » dom 유리
- 처리할 xml 노드의 길이가 길다. xml을 한번만 순회하여 이벤트를 발생시킨다 » sax 유리
- 처리할 xml 노드의 길이가 길다. 노드를 여러번 읽거나, 순서를 변경하거나 수정을 한다. » dom 유리
출처: http://stg.etribe.co.kr/2014/08/09/xml-%ED%8C%8C%EC%8B%B1%EC%8B%9C-dom%EA%B3%BC-sax%EC%9D%98-%EC%B0%A8%EC%9D%B4/