×î½üÏîÄ¿ÖÐÒªÓõ½Ò»Ð©web xmlÊý¾ÝµÄ·ÃÎÊ·ÖÎö£¬²ÉÓÃmsxml
1.msxmlÊÇ΢ÈíÌṩµÄ£¬ÔÚ·Ç¿ª·¢»·¾³ÖУ¬ÐèҪע²á
2.xmlÎļþ£¬Ò»°ãÔÚµÚÒ»¾äÓбàÂ뷽ʽ£¬Ò»°ãĬÈÏÊÇutf-8£¬ÊôÓÚÒ»ÖÖunicode
3.´ÓÍøÂç²É¼¯µÄxmlÊý¾Ý£¬ÐèҪʹÓÃwinnetº¯Êý¿â
4.winnet²É¼¯×ÔÍøÂçµÄÊý¾Ý£¬Ä¬ÈϵͼÊÇCP_ACP¸ñʽµÄ£¬¼òµ¥Ëµ¾ÍÊÇANSI»òUNICODE£¬UTF8µÄ±àÂ뷽ʽÊÇCP_UTF8£¬Õâô¿´xmlÊý¾Ý£¬×Ö·ûÊÇÕý³£µÄ£¬µ«ÊǺº×Ö¶¼ÊÇÂÒÂë
5.½â¾öutf-8ÂÒÂë·½·¨£º
UNICODE -> ANSI : CT2A or MultiByteToWideChar
ANSI -> UTF8: WideCharToMultiByte
wstring AStringToWString(const string& szSrc, UINT nCodePage)
{
wstring lstrResult;
if (!szSrc.empty())
{
int length = MultiByteToWideChar(nCodePage, 0, szSrc.c_str(), -1, NULL, 0);
wchar_t* lpwszTemp = new wchar_t[length + 1];
memset(lpwszTemp, 0, (length + 1) * sizeof(wchar_t));
MultiByteToWideChar(nCodePage, 0, szSrc.c_str(), -1, lpwszTemp, length);
lstrResult = lpwszTemp;
delete[] lpwszTemp;
}
return lstrResult;
}
string WStringToAString(const wstring& szSrc, UINT nCodePage)
{
string lstrResult;
if (!szSrc.empty())
{
int length = WideCharToMultiByte(nCodePage, 0, szSrc.c_str(), -1, NULL, 0, NULL, NULL);
char* lpszTemp = new char[length + 1];
memset(lpszTemp, 0, length + 1);
&nbs
Òë×ÔVault API°ïÖúÎĵµÖÐһƪ Doug RedmondдµÄknowledgebase article. Doug's ²©¿ÍÊÇ It's All Just Ones and Zeros
ÄãÒ²Ðí²»ÖªµÀËùÓÐVault API Àà¶¼¿ÉÒÔ XML ÐòÁл¯ - ÕâÒâζןÜÈÝÒ×°ÑAPI¶ÔÏóת»»Îª XML Îı¾£¬·´Ö®ÒàÈ»¡£
ºÜ¶àÖÖÇé¿öÏ¿ÉÒÔʹÓô˹¦ÄÜ£¬ÀýÈ磺
Ëü¿ÉÒÔ°ïÖúÄúµ÷ÊÔ´úÂë¡£Èç¹ûÄú¾ßÓдóÁ¿Êý¾ÝµÄ¶ÔÏ ......
ÎÒÃdz£³£ÐèÒª¶ÁÈ¡xmlÎļþ£¬°ÑÀïÃæµÄÐÅϢת»¯ÎªÎÒÃÇ×Ô¶¨ÒåµÄÀàÐÍ£¬»òÔò°É×Ô¶¨ÒåÀàÐÍת»¯ÎªXml×Ö·û´®¡£ÔÚÕâÀï½éÉÜÒ»¸ö±È½Ï¼òµ¥µÄ¶ÔÏóת»¯·½·¨¡£ÔÚÎÒ×Ô¼ºµÄFramworkÀïÃæÒ²¶à´ÎÓõ½¡£ÀïÃæÉæ¼°µ½½Úµã¡¢ÊôÐÔ¡¢¼¯ºÏ¡£
ʾÀýÒ» ¸ÃxmlÎļþÉæ¼°µ½ÊôÐÔ¡¢½Úµã¼¯ºÏ²»Éæ¼°¸ö½Úµã£º
<?xml version="1.0" encoding="utf-8"?>
<da ......