본문 바로가기

Projects/CoVNC

C, C++ DOM API

출처 블로그 > 사람은 언제나 웃을 수 있는 태세를 갖추어야 한다
원본 http://blog.naver.com/iku88/130003398020

Source: saveDOM.cpp


역시 MSDN에 있는 예제.


.NET 2003에서 실행했다.


그대로 복사해서 실행하면 myData.xml이란 파일을 생성한다.


나의 경우, 역시 오류가 뜨던데.. vsprintf_s 란 이름을 vsprintf 로 바꿔주면 된다.


아마 2005버전에선 에러가 안 날것 같다. (안해봐서 확신은 못하지만)


보면..


bstr = SysAllocString(L"<r>\n<t>top</t>\n<b>bottom</b>\n</r>");


일단 bstr이란 스트링 변수에 위의 내용을 넣었다.

이걸

HRCALL(pXMLDom->loadXML(bstr, &status),
              "dom->loadXML(): ");

명령으로 xml 클래스에 등록한다.


그 다음, bstr을 free시킨 후에


HRCALL(pXMLDom->get_xml(&bstr), "dom->get_xml: ");

이렇게 해서 아까 저장한 내용을 다시 읽어온 후에


dprintf("XML DOM loaded from stocks.xml:\n%S\n",bstr);

콘솔에 출력하고 있다.


이때, 콘솔을 보면, 아까의 bstr은 줄바꿈문자('\n')는 있었지만, 탭문자('\t')는 없었는데, 결과를 보면 알아서 탭이 들어가 있다. 저렇게 만들어주나 보다.


그 다음에는 var에 저장할 파일 이름을 저장해서

HRCALL(pXMLDom->save(var), "dom->save: ");

명령으로 파일에 저장을 하고 있다.