最近项目中要用到一些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
Flash中的XML对象也有方法可以将XML数据向服务器发送。即send和sendAndLoad。send方法向某个 URL 传递 XML 对象,返回的信息都被发送到另外一个浏览器窗口;sendAndLoad 方法向某个 URL 发送一个 XML 对象。返回的信息都放在一个XML对象中。
在某种程度上, XML的send方法和sendAndLoad方法类似于loadVars对象的send方法和 ......