XML 파싱 시 DOM방식과 SAX방식 비교

dom과 sax 방식 비교 및 적합한 사용 방법.

dom방식

  1. xml 문서 전체를 메모리에 로드
  2. 노드 들을 빠르게 검색 하고 데이터의 수정과 구조 변경이 빠름
  3. 소스코드 비교적 직관적

sax방식

  1. xml 문서를 순차적으로 읽어 내려가며 노드가 열리고 닫히는 부분에 이벤트 구현
  2. 메모리 사용량이 적고 단순히 읽기만 할때 빠름. 단순 1회 순회하여 처리하는 프로세스에 유리함.
  3. 여러번 검색을 하는 경우 혹은 수정을 하는 경우 번거롭고 느림
  4. 소스코드 복잡

결론

  1. 처리할 xml 노드의 길이가 짧아 0.5초이내에 처리가능하다 » dom 유리
  2. 처리할 xml 노드의 길이가 길다. xml을 한번만 순회하여 이벤트를 발생시킨다 » sax 유리
  3. 처리할 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/