Tech이야기~!
welcom 자세히보기

Computer

[JAVA][안드로이드] 네트워크 - XML처리 - XML 파싱 ( DOMParser, SAXParser , PullParser )

Enhold 2020. 4. 28. 10:59

XML ?

- XML은 웹 서비스의 기본 데이터 포맷으로서 서버와 클라이언트의 중요한 통신 수단이다.

- 서버는 클라이언트의 요청을 받아들여 처리하고 그 결과를 XML로 리턴하며 클라이언트는 XML을 분석하여 처리결과를 얻는다.

 

   

XML 문서 파싱 방법

 

 

 Parser

특징 

장점 

단점 

 DOM(Document Object Model) Parser

 Element를 모두 Tree구조로 메모리에 넣어두고 사용함.

메모리에 Tree구조로 정보가 들어있기 때문에 한번 파싱해두면 아무때나 얻고 싶은 Element에 대한 정보를 얻을수있음.

문서가 커지면 메모리를 치나치게 많이 소모함

 SAX(Simple API for XML) Parser

 이벤트기반의 파서로 문서의 시작과 끝. Element의 시작과 끝, Element의 내용 등 Element Tag의 이름에 따라 각각을 처리하는 메소드를 두어 파싱함.

라인 단위로 파싱하기때문에 파싱하는데 적은 메모리 소요 

파싱시 그냥 지나갔던 Element의 정보를 얻고 싶으면 다시 파싱해야함. 

 XML Pull Parser

 SAX와 같이 이벤트 기반의 파서이지만, SAX와 달리 문서에 대한 모든 파싱을 하지 않고도 특정부분까지의 파싱내용을 활용할수있음.

원하는 부분을 파싱할수있음. 

SAX의 단점을 가지며 SAX보다 약간 느림. 

[출처] [안드로이드] 네트워크 - XML처리 - XML 파싱 ( DOMParser, SAXParser , PullParser ) ; 날씨정보, 블로그RSS 파싱|작성자 자바킹