일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 노트패드 줄바꿈
- dom sax 차이점
- 간단한 채팅 프로그램
- 원씽 책
- 빅분기 독학
- 원씽 후기
- 빅데이터분석기사
- 빅분기 필기
- 빅데이터분석기사 필기
- 노트패드++ 줄바꿈
- 자바 채팅
- TCP Socket
- async false
- Notepad 줄바꿈
- 동기식 비동기식
- 원씽 내용
- The OneThing
- 책 원씽
- xml 파싱 방법
- dom sax 장단점
- 빅분기
- 빅데이터분석기사 독학
- 자바 채팅 프로그램
- async
- Notepad++ 줄바꿈
- ajax 비동기식
- 원씽 독후감
- 자바스크립트 undefined
- ajax 동기식
- TCP 채팅
Archives
- Today
- Total
SooBlending
[XML] DOM 파싱 SAX 파싱 차이점 본문
DOM ( Document Object Model ) 파싱
: 메모리에 모두 로드를 한 후에 파싱한다.
(장점) 메모리에 모두 로드 되어 있기 때문에 노드의 검색, 수정 등이 빠르고 용이하다.
(단점) 대용량의 데이터를 파싱할 경우 메모리 문제가 발생 할 수 있다.
SAX ( Simple API for XML ) 파싱
: 라인을 하나씩 순차적으로 읽으며 파싱한다.
(장점) 메모리 사용량이 적고 단순히 읽을 때 속도가 빠르다.
(단점) 발생한 이벤트를 활용만 하는 것이기 때문에 노드의 수정이 어렵다.
각 각의 상황에 맞게 잘 활용하여야 한다.
예를 들어, 단순히 xml 데이터를 변수에 담거나 특정 config만 활용할 때에는 SAX 파싱을 사용한다.
하지만 xml 노드의 검색이나 변경이 필요한 경우에는 DOM 파싱을 사용한다.
DOM 파싱 Java 예시
File file = new File ("sample.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement().nomalize();
NodeList nodelist = doc.getElementsByTagName("name"); // name 태그를 검색
SAX 파싱 Java 예시
File file = new File("sample.xml");
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
parser.parse(file, 따로 만들어놓은 ParserHandler Class);
'Programming > XML' 카테고리의 다른 글
[XML] 개념 및 기본 문법 (0) | 2017.11.30 |
---|
Comments