16,551
社区成员
发帖
与我相关
我的任务
分享CComPtr<IHTMLElementCollection> pColl= NULL;
CComPtr<IHTMLElementCollection> pElCol= NULL;
CComPtr<IHTMLElementCollection> pParamCol= NULL;
CComPtr<IDispatch> pDisp= NULL;
CComPtr<IHTMLElement> pEl= NULL;
CComPtr<IHTMLElement> pElPar= NULL;if (pElement== NULL) m_pDoc->get_all(&pColl);else
{
pElement->get_all(&pDisp);if (pDisp== NULL)return E_FAIL;
pDisp.QueryInterface(&pColl);
pDisp.Release();
}if (pColl== NULL)return E_FAIL;
pColl->tags (tagObject,&pDisp);if (pDisp== NULL)return E_FAIL;
pDisp.QueryInterface (&pElCol);//主要这是第二次获取IHTMLElementCollection接口 pDisp.Release();if (pElCol== NULL)return E_FAIL;long len=0;
pElCol->get_length(&len);if (len==0)return S_OK;//遍历IHTMLElementCollection接口变量pElCol中的元素for (long i=0; i< len; i++ )
{
CComVariant varName;
CComVariant varIndex;
pDisp.Release();
pEl.Release();
varIndex= (long) i;
pElCol->item(varIndex, varName,&pDisp);if (pDisp== NULL)return E_FAIL;if ( FAILED(pDisp.QueryInterface(&pEl))|| (pEl== NULL) )break;
pDisp.Release();//在这里查看varName和varIndex的值,看看是否你需要的元素,//如果是,使用pEI接口查询IHTMLTableif(...)
{//pEl->QueryInterface(IID_IHTMLTable, (void**)&pITable); pEl->... and etc.
}
}