오늘은 간단하게 사용할 수 있는 C++ xml parser 하나 소개해 드리려 합니다.
Xml parser 라이브러리의 이름은 pugixml 이고요~
아래 주소에서 다운로드 가능합니다.
https://code.google.com/p/pugixml/downloads/list
다음 그림과 같이 편하실데로~ zip 또는 tar.gz 파일을 다운로드 받으면 됩니다. 저는 현재 최신버전인 1.2 버전의 zip 파일 버전인 pugixml-1.2.zip 을 다운로드 받았습니다.
압축을 해제하면 src,scripts,docs,contrib 폴더로 구성되는데요~ 이 중에서 src 폴더가 라이브러리 소스 파일입니다.
Xml 을 사용하고자 하는 폴더에 src 폴더의 pugixml.hpp, pugixml.cpp, pugiconfig.hpp 파일들을 추가한 후에 사용하시면 되겠습니다.
pugixml-1.2\docs\samples 에는 다양한 예제들이 있는데요~ 저는 xml 파일에 대한 load 부분만 필요해서 load_file.cpp 파일을 사용했습니다.
프로젝트에 pugixml.hpp, pugixml.cpp, pugiconfig.hpp, load_file.cpp파일을 추가하고 load_file.cpp 에서 사용하는 tree.xml 파일도 추가 해 줍니다.
다음으로 빌드를 하고 실행해 보면~ 다음과 tree.xml파일의 mesh 노드의 name attribute 의 내용인 mesh_root 를 선택적으로 읽어 올 수 있는 것을 확인 할 수 있습니다.
라이브러리가 파일만 추가하면 되서 사용하기 쉽고 사용법도 매우 편하네요~
속도 등에 대한 테스트는 안 해 봤지만 간단한 용도로 사용하는 제 입장에서는 대 만족이네요.
위에 예제로 사용한 codeblock 프로젝트 파일도 추가 합니다.
'programming language > C' 카테고리의 다른 글
C 언어 fgets() 함수를 활용한 파일 입력 받기 (0) | 2016.03.02 |
---|---|
C/C++ 매크로를 사용한 정수 타입 swap (0) | 2016.02.19 |
C/C++ 비트연산 매크로 (0) | 2015.03.31 |
Windows 에서 GCC 및 boost 사용하기 (0) | 2014.07.20 |
C/C++ Directory File Listing (0) | 2014.07.20 |
C++ file path 나누기 SplitPath (0) | 2014.07.18 |
C++ range based for loops (0) | 2014.03.02 |
C++ Cartesian Product (0) | 2014.03.01 |
댓글