'버퍼 쓰기'에 해당되는 글 1건

  1. 2017.11.28 tinyXML2로 버퍼에서 XML을 읽고 버퍼로 XML을 써보자

여러 PC를 사용하는 프로그램에서 PC를 제어하기 위해, TCP 서버로 XML을 교환하려고 했다.

xml문을 전달하려고 하니, xml문서를 버퍼에 저장하고 반대로 버퍼에서 xml문서를 만드는 기능이 필요했다.

다행히 tinyxml2는 버퍼에 xml을 쓰거나, 버퍼의 xml을 읽어서 XMLDocument로 만드는 기능을 지원한다.  

 

아래 예제는 m_ServerInfos에 저장된 정보를 xml로 만들어 const char*로 받고,

반대로 const char*로부터 XMLDocument를 만드는 예제를 보여준다.

 

마지막 세줄을 제외하고는 그냥 xml 문서를 만드는 구문이다.

마지막 세줄이 버퍼에 xml을 출력하는 구문인데, XMLPrinter를 하나 만들어 여기다가 doc를 출력하면 된다.

그 다음 XMLPrinter의 CStr( )을 호출하면 xml문서의 const char* 포인터를 받을 수 있다.

문자열의 길이는 XMLPrinter::CStrSize를 호출하면 알 수 있다.

반대로 버퍼속의 xml문서를 객체로 만들기 위해서는 tinyxml2::XMLDocument::parse를 하면된다.

첫번째 파라미터는 xml문서의 포인터이고 두번째 파라미터는 문서 문자열의 길이다.

파싱된 xml로부터 이전의 IP주소가 정상적으로 출력되는 것을 볼 수 있다.

 

끝!

Posted by 굿쟌
,