파서: DOM/ SAX/ StAX
DOM: XML 문서를나타내는 객체들의 인터페이스를 표준으로 정해놓은 것
DOM 파서: XML 문서로부터 DOM 구조를생성하는역할
XML문서를읽어들이는 중간에는 아무 일도 일어나지 않고, XML문서의 모든 element, text, attribute 등에 대해 객체를 만듦. 이후에 Document 객체를 리턴하며 그때부터 작업을 할 수 있다.
XML: 엘리먼드(element), 속성(attribute), 텍스트 등으로 구성된 트리 구조의 계층적인 정보이다.
-> XML문서의 각 요소들에대하여트리 구조의 Java 객체로 표현.
DOM API 는 XML 문서를 나타내는각 구성 요소에 대한 객체들의 인터페이스를 표준으로 정해놓은 것
SAX: 문자열을 앞에서부터 차례로 읽어가면서 요소, 속성이 인식될 때마다 Event를 발생시킨다.
각각의 Event 발생에 대해 핸들러를 구현하는 프로그래밍임.
SAX는 XML문서를 하나의 긴 문자열로 간주한다. 문자열을 앞에서부터 차례로 읽어가면서 요소, 속성이
인식될 때마다 Event를 발생시킨다. 각각의 이벤트가 발생될 때마다 수행하고자 하는 기능을 핸들러 기술을 이용하여 구현한다. (콜백 메카니즘)
DOM과 SAX의 주요 차이점
DOM = 전체 문서를 메모리상에 올려놓고 처리하므로 원하는 요소를 바로 찾아가 추가 및 수정 가능
SAX = 문서를 처음에서 끝까지 순차적으로 처리, 문서의 일부분만을 메모리에 올려 처리.
메모리를 적게 사용하는 반면특정 요소를 찾아 수정하는 것은 불가능
'JAVA' 카테고리의 다른 글
3.29 피드백 후기+추가 공 (0) | 2024.03.31 |
---|