이번장에서는 PHP XML 파싱에 대해서 알아볼텐데요. 사실 제가 프로그램 생활을 하면서 xml 파싱은 정말 자신없는 부분이기도 합니다. 그래서 설명하기 어렵겠지만 저도 공부할겸 인터넷에 있는자료 뒤적뒤적 해가며 적어보겠습니다.
XML 은 문서를 읽어 문서 내용 및 구조에 대한 접근을 제공하는 소프트웨어입니다.
- 엘리먼트, 속성, 엔티티 정보를 생성
- 문서의 정확성을 검증
- XML 문서 처리를 수행하도록 지원함
XML 문서를 처리하기 위한 대표적인 방식은 SAX(Simple Api for Xml) 파싱과 DOM(Document Object Model) 파싱 두 가지가 있습니다.
SAX 방식은 이벤트가 발생할때마다 그때그때 처리되기 때문에 메모리 소모가 적지만 잦은 이벤트의 발생은 오히려 더 메모리를 많이 잡아먹을수 있습니다.
- 문서 전체 구조 정보를 가지지 않음
- XML 문서를 읽어 나가면서 이벤트 발생
- 특정 엘리먼트에 대한 이벤트 발생시 처리
- 문서의 부분을 처리할때 유리
- 데이터 구조 조작에 유리
- 응용프로그램을 최적화 가능
- 효율성이 좋음
DOM 방식은 트리 구조로 XML 문서를 변환하고 전체 문서를 읽어서 엑세스 하기때문에 메모리를 많이 사용하며 조금 무겁다고 느낄수 있습니다.
- 문서 구조 정보와 컨텐츠를 객체로 이용
- 트리에 기반한 객체를 이용함으로써 XML 문서의 구조적 변경 작업에 적합
- XML 문서를 메모리상에서 공유할수 있다는 장점이 있음
- 메모리상에 구체적인 객체 트리를 생성함
- XML 문서를 다루기 위한 복잡한 응용프로그램(브라우저, 편집기)에 적합
- 메모리 사용량이 큼
읽어보면 알겠지만 각각 장단점을 가지고 있어서 상황에 맞게 적절히 사용되어야 할듯합니다.
XML에 대해서 우선 간략정의를 했습니다.
다음장에서는 DOM, SAX의 예제에 대해서 알아보겠습니다. 오타 또는 오류가 있으면 댓글, 쪽지주면 바로 수정해 놓겠습니다.
'PHP > PHP XML' 카테고리의 다른 글
PHP SimpleXML 구문 (0) | 2013.07.17 |
---|---|
PHP XML DOM 구문 (0) | 2013.07.16 |