XML은 현재 많은 분야에서 쓰이고 있는 문서포맷입니다.
TinyXML은 C/C++ 프로그래밍에서 쉽게 간단하게 XML문서를 파싱하고 생성하고 수정하는 방법을 제공합니다.

다음은 TinyXML의 사용예제입니다.

1. 예제 XML 문서 (sample.xml)
본 포스팅에서 예제로 사용된 XML 문서형태입니다.
 

2. XML 문서 읽기.
XML 문서는 파일의 경로를 입력하여 해당 XML문서를 읽어들일 수 있습니다.

또는 C/C++에서 제공하는 파일오픈 관련 함수를 통하여 문자열로 읽어들일수도 있습니다.


3. XML 문서 파싱 및 수정.
문자열 혹은 파일명을 통해 읽어들인 XML 문서의 원하는 노드 및 속성, 데이터 파싱이 가능하고 데이터의 수정또한 가능합니다.

XML 문서를 파싱하는 예제입니다.

XML 문서 특정노드의 데이터를 수정하는 예제입니다.

다음 예시는 재귀함수를 통해 XML 노드를 순차적으로 검색하여 모든 노드의 속성 및 데이터를 추출하는 예시입니다.


4. XML 문서 제작.

XML 형식선언 및 루트노드와 각 하위노드의 추가, 각 노드와 연결되는 속성, 데이터의 추가와 더불어 이를 설명하는 주석문장을 만드는 예제입니다.


아래의 예시에서 new로 생성되는 개체들은 내부에서 사용 후 모두 삭제되므로 외부에서 따로 delete를 해줄 필요가 없습니다.


5. 다운로드 및 설정.
TinyXml 은 SourceForge 사이트를 통해 다운로드 받을 수 있으며 개발중인 프로젝트에 헤더파일과 cpp파일을 삽입하여 사용이 가능합니다.
그러나 처음 헤더 및 cpp파일 삽입 후 빌드하면 미리컴파일된 헤더 관련한 에러메시지가 발생하며 그 에러메시지는 다음의 링크를 통해 해결이 가능합니다.
http://myblue0324.tistory.com/55


Posted by 루시엔시엘

댓글을 달아 주세요

  1. 2011.03.17 14:22  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 루시엔시엘 2011.03.21 16:26 신고  댓글주소  수정/삭제

      제가 올린 포스팅 2번 항목에는 xml 문서를 파싱하는 두가지 방법이 나와있습니다.

      1. TiXmlDocument 클래스에서 제공하는 LoadFile() 함수에 읽고자 하는 파일경로를 써서 직접 파싱하는 방법.
      2. char형 버퍼를 생성하여 C/C++/MFC에서 제공하는 파일입출력 함수(본문에는 MFC의 CFile 클래스 사용)를 통해 읽고 TiXmlDocument 클래스의 Parse 함수를 써서 파싱하는 방법.

      두가지 방법 모두 TiXmlDocument 의 객체를 생성하여 xml 문서를 파싱합니다.

      따라서 간단하게..
      본문 포스팅 2번 항목의 마지막에 ..

      doc.SaveFile("D:\\sample3.xml");

      위 코드 한줄만 추가해주면 바로 저장이 됩니다. 따로 생성해서 써주는 작업은 필요없구요. SaveFile 함수하나로 파일로 저장이 가능합니다.

      CFile 클래스의 Write 함수를 써서 직접 버퍼의 내용을 파일에 쓰는 방법도 있겠지만 굳이 그럴필요가 없으니 패스~

  2. oszkr 2013.10.24 19:21 신고  댓글주소  수정/삭제  댓글쓰기

    감사합니다.

  3. 2016.05.26 11:47  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  4. 2016.07.16 15:13  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다