從 http://sourceforge.net/projects/tinyxml/ 下載新版本,把6個檔案複製到項目中 tinystr.h tinyxml.h tinystr.cpp tinyxml.cpp tinyxmlerror.cpp tinyxmlparser.cpp
將CPP檔案的頭部加上 #include "stdafx.h" , 要使用的地方 #include "tinyxml.h"
wchar_t* CommTools::U8ToUnicode(const char* szU8){ int wcsLen = ::MultiByteToWideChar(CP_UTF8, NULL, szU8, strlen(szU8), NULL, 0); wchar_t* wszString = new wchar_t[wcsLen + 1]; ::MultiByteToWideChar(CP_UTF8, NULL, szU8, strlen(szU8), wszString, wcsLen); wszString[wcsLen] = '\0'; return wszString;
}
CStringA CommTools::CStringToCStringA(CString str)
{ // Convert a TCHAR string to a LPCSTR CT2CA pszConvertedAnsiString (str); // construct a std::string using the LPCSTR input CStringA result(pszConvertedAnsiString); return result;}
GetText 節點的值是空返回NULL,可以先判斷一下再gettext
if( cityIdEle->GetText()!=NULL ) wcscpy_s( cityInfoList[iTmpC].cID , commTools.U8ToUnicode(cityIdEle->GetText()) );else
wcscpy_s( cityInfoList[iTmpC].cID , L"" );