我想在程序里解析一个HTML文件,获取一些href和img tag。程序里没有用IE Browser控件。伪代码如下:
HRESULT hr;
hr = CoInitialize(NULL);
IHTMLDocument2 *pMSHTML;
hr = ::CoCreateInstance(CLSID_HTMLDocument,NULL,
CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,
(LPVOID*)&pMSHTML);
if(SUCCEEDED(hr))
{
LPPERSISTFILE pPF;
hr = pMSHTML->QueryInterface(IID_IPersistFile,(LPVOID*)&pPF);
if(SUCCEEDED(hr))
{
hr = pPF->Load("c:\\aaa.htm",0);
if(SUCCEEDED(hr))
{
IHTMLElement* pElement = NULL;
if(FAILED(pMSHTML->get_body(&pElement)))
{
AfxMessageBox("body failed");
return ;
}
}
}}
.....
执行上述代码后发现,pElement指针为空,不知道是什么原因?
是不是HTML文件没有正确的装载?我换了好几个文件,结果都一样。
HRESULT hr;
hr = CoInitialize(NULL);
IHTMLDocument2 *pMSHTML;
hr = ::CoCreateInstance(CLSID_HTMLDocument,NULL,
CLSCTX_INPROC_SERVER,IID_IHTMLDocument2,
(LPVOID*)&pMSHTML);
if(SUCCEEDED(hr))
{
LPPERSISTFILE pPF;
hr = pMSHTML->QueryInterface(IID_IPersistFile,(LPVOID*)&pPF);
if(SUCCEEDED(hr))
{
hr = pPF->Load("c:\\aaa.htm",0);
if(SUCCEEDED(hr))
{
IHTMLElement* pElement = NULL;
if(FAILED(pMSHTML->get_body(&pElement)))
{
AfxMessageBox("body failed");
return ;
}
}
}}
.....
执行上述代码后发现,pElement指针为空,不知道是什么原因?
是不是HTML文件没有正确的装载?我换了好几个文件,结果都一样。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货