昨天看了一天电视,真佩服自己。
1、下载
要做这些事首先就得在百度的服务器上下载东西,这个工作可以用MFC的CInternetSession类来完成,代码如下:
BOOL Download::DownloadFile( CStringW strUrl, CStringW strPath )
{
CFile file;
if(FALSE == file.Open(strPath, CFile::modeCreate|CFile::modeWrite))
{
return FALSE;
}
CInternetSession seession;
CStdioFile *pFile;
TRY
{
pFile = seession.OpenURL(strUrl);
}
CATCH (CException, e)
{
return FALSE;
}
END_CATCH;
char szBuf[1025] = {0};
UINT nRetLen = 0;
if(pFile)
{
while(nRetLen = pFile->Read(szBuf, 1024))
{
file.Write(szBuf, nRetLen);
}
}
else
{
return FALSE;
}
file.Close();
pFile->Close();
delete pFile;
seession.Close();
return TRUE;
}
2、解析下载下来的XML
解析XML用到了开源库Markup,这个在网上一搜就有。
至于解析过程就不贴了,反正在SVN上有,主要思路就是下载,找到节点,字符串拼凑。
当然这些操作都是放在线程中去完成的,因为它很花时间。
附:svn://www.oksvn.com/dzzLineMusic