본문 바로가기

IT_Story

[C++] XML parser

요즘 하지도 못하는 C++을 손대고 있다.
XML도 잘 모르는데 공부하고 있고..
여러모로 열심히(?) 공부하려고 노력중이다.

우선 자바에서는 XML을 그냥 import 시키면 되었었다.
이클립스에서 import javax.xml.*; import org.w3c.dom.Document;
이런식으로만 import 시키면 되는데

C++에서는 따로 SDK를 깔아줘야한다.
(자바때는 이클립스에서 지원을 해주는거라서 안깔아주는 것일테다)

C++ XML파서는 여러가지가 있다.

1. MSXML <- 제일 많이 사용하는 것이다.
2. XmlLite
3. TinyXml
(그 외 expat, xerces)

지금 나는 MSXML을 사용을 하고 있는데
그 이유는 무엇보다 웹서핑이 쉽기 때문이다.
많은 사람들이 MSXML을 사용을 하니 에제나 사용방법을 알기 쉽다.

XmlLite는 연구실 오빠가 언뜻 지나가게 말했는데
나한테는 MSXML이 나은듯!!

1. MSXML
말 그대로 MS에서 지원하는 것이다.
코딩이 쉽다. 처음에 한번에 다 로딩하고 데이터를 접근할 때 순차적으로 접근을 하기 때문.
근데 큰 데이터 분석은 느리다는게 단점이다.
또한 Dom Parser를 사용한다.(Dom Parser 방식이다.)

2.XmlLite
코딩이 쉽지 않다. (어쩌면.. 그래서 MSXML을 사용하는 것일수도..-_-;;)
순차적으로 파싱하면서 이벤트를 불러준다고 하는데.. 나는 사용안해봐서.. 패스~
그렇지만 큰 데이터 분석에 강하다.
SAX Parser를 사용한다.
(내 생각에는 MSXML <-> XmlLite 이게 아닐까 싶다.)

Parser얘기도 포스팅을 나중에 할 것이지만,
SAX Parser가 Dom Parser보다 빠르다. 그렇기에 xmlLite가 빠를 수 밖에 없다.


MSXML 다운로드
http://www.microsoft.com/downloads/en/default.aspx

XmlLite 다운로드(window xp 용)
http://www.microsoft.com/downloads/details.aspx?FamilyID=d7b5dc81-ad14-4de2-8ad5-8c4a9aab5992&DisplayLang=ko

TinyXml
http://sourceforge.net/projects/tinyxml/