问下各位大牛,我用socket获取了一个网页的网页流,我需要使用mshtml和msxml去解析,请问下,如何才能把这个流文件加载进去。
解决方案 »
- 怎样使学号和成绩一一对应输入
- 请教关于vc++6.0下listctrl控件的问题
- 线程中调用控件
- 怎么在一个进程得到另外一个进程里的某个static text里的内容?
- 做了个图片处理的软件,大家帮忙测试看看效果
- 初学VC遇到的问题,请高手们指教!
- 如何使用别人编写的动态连接库?
- 如果要在ListCtrl中当鼠标移动到第2列的时候改变鼠标的形状,该怎么做?
- ★★★(300高分,頂者有分)VC & Matlab http://expert.csdn.net/Expert/topic/1886/1886849.xml?temp=.6287042
- 刚学VC,遇到一个问题,太打击我了,帮我解决一下吧!
- 求高手解决:采集卡通信故障4~~~~if中的buffer[0]==S_T_stop[0]在whach窗口中看到的不一样。
- [求助]如何把WORD文档制作成CHM电子书?
如果是的话已CMarkup为例通过SetDoc方法即可加载数据
你参考一下吧
void CMy3DAnalyzerDlg::OnClickButtonDel()
{
if(!UpdateData())
return; //int nIndex = m_listRefCode.GetCurSel(); //if(nIndex<0)
//{
// AfxMessageBox("请在列表中选择一个号码");
// return;
//} //m_listRefCode.DeleteString(nIndex); //获取数据
char buff[DOWNLOAD_SPEED];
CString strXMLPath, strQueryInfo, strUrl; int nItemCount = 0;
m_listCode.DeleteAllItems();
for(int i=1; i<58; i++)
{
//设置连接工具http://www.16788.cn/3d/lishi.asp?sort=天天彩选3&sortid=5&page=1
strUrl.Format("http://www.cy198.com/new3d/3d.asp?page=%d&typeid=", i);
SetConnectTool(strUrl, strXMLPath); CHttpFile* pHttpFile = m_pHttpConnect->OpenRequest(CHttpConnection::HTTP_VERB_GET, strXMLPath, NULL, 1, NULL, NULL, m_dwHttpRequestFlags);
try
{
if(pHttpFile==NULL||!pHttpFile->SendRequest())
{
pHttpFile->Close();
delete pHttpFile;
return;
}
}catch(...)
{
AfxMessageBox("网络连接异常!");
delete pHttpFile;
return;
} pHttpFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, strQueryInfo);
DWORD dwLen=atol(strQueryInfo);
//从服务器读取文件
int nCount, nRead = 0;
//下载文件
while((nCount=pHttpFile->Read(buff, DOWNLOAD_SPEED))>0)
{
nRead += nCount;
m_strWebContent += buff;
m_strWebContent = m_strWebContent.Left(nRead);
} pHttpFile->Close();
delete pHttpFile; CMarkup xmlData;
int nStart = atoi(m_strRefCode);
int nEnd = atoi(m_strRefEnd); xmlData.SetDoc(m_strWebContent);
xmlData.ResetMainPos();
if(xmlData.FindElem("HTML"))
{
xmlData.IntoElem();
if(xmlData.FindElem("BODY"))
{
xmlData.IntoElem();
xmlData.FindElem("table");
if(xmlData.FindElem("table"))
{
xmlData.IntoElem();
xmlData.FindElem("tr");
if(xmlData.FindElem("tr"))
{
xmlData.IntoElem();
xmlData.FindElem("td");
if(xmlData.FindElem("td"))
{
xmlData.IntoElem();
if(xmlData.FindElem("div"))
{
xmlData.IntoElem();
if(xmlData.FindElem("center"))
{
xmlData.IntoElem();
if(xmlData.FindElem("table"))
{
xmlData.IntoElem();
xmlData.FindElem("tr");
while(xmlData.FindElem("tr"))
{
if(xmlData.FindChildElem("td"))
m_listCode.InsertItem(nItemCount, xmlData.GetChildData());
if(xmlData.FindChildElem("td"))
m_listCode.SetItemText(nItemCount, 1, xmlData.GetChildData());
nItemCount++;
}
}
}
}
}
}
}
}
}
}
}
CMARKUP是一个分析XML的收费parser。不知道这个东东对于HTML内容的解析如何?TinyXML可以达到目的么?
比如html页面内有一个img,是不是可以把这个img给保存下来啊?我对HTML浏览解析这块毫无经验。
在这个帖子多多研究,xianglitian你是不是也在做这块的东东?呵呵。一起研究研究吧?