처음 XML문서를 메모리에 모두 로드한 후 값을 읽음
XML문서가 메모리에 모두 로드되어 있고, 트리 형태로 만든 후에 가공하므로 노드의 검색, 수정, 구조 변경 등이 빠르고 쉬움
직관적이고 SAX보다 파싱하기 단순하지만 메모리를 많이 사용함
XML문서를 라인 단위로 읽어 노드가 열리고 닫히는 과정에서 이벤트가 발생한다.
XML문서를 메모리에 전부 로딩하고 파싱하는것이 아니라서 메모리 사용량이 적고 단순히 읽기만 할 때 속도가 빠름.
핸들러를 구현해서 발생한 이벤트를 핸들링하여 변수에 저장해 활용하는 것이기 때문에 복잡하고, 노드 수정이 어렵다.
DOM보다 구현과 구조 변경이 어렵다.