2011-12-08 13 views
1

からヘッドが、私はは、Get HTML IE DOM

。get_bodyメンバ関数を呼び出すことによって、(IHTMLDocument2インターフェイスを使用して、ドキュメントのHTML本文を取得する方法を知っているしかし、どのように、私は頭を得ることができますか?そのような機能はありませんIHTMLDocument2インターフェイスに?

答えて

4
CComPtr<IHTMLDocument2> htmlDocument; 
    CComPtr<IHTMLElementCollection> elementCollection; 

    htmlDocument->get_all(&elementCollection); 
    for (long i=0;i<numberOfElements;i++) 
    { 
     _variant_t index = i; 
     CComPtr<IHTMLElement> htmlElem; 
     CComPtr<IDispatch> htmlElemDisp; 
     hResult = elementCollection->item(index,index ,(IDispatch **) &htmlElemDisp); 
     if (FAILED(hResult) || (!(htmlElemDisp))) 
     { 
      continue; 
     } 
     hResult = htmlElemDisp->QueryInterface(IID_IHTMLElement ,(void **) &htmlElem); 
     if (FAILED(hResult) || (!(htmlElem))) 
     { 
      continue; 
     } 
     hResult = htmlElem->get_tagName(&buffer); 

     if (FAILED(hResult) || (!(buffer))) 
     { 
      continue; 
     } 
     if (_wcsicmp(buffer,L"HEAD")==0) 
     { 
     // your code here 
     } 
} 

はまた、あなたの代わりにCComPtr<IHTMLDocument2> htmlDocumentIHTMLDocument2* htmlDocumentを使用することができます。 主なアイデアは、ドキュメント内のすべての要素を取得し、それらを反復してのtagName HEADを持っているものを見つけることです。 ・ホープ、この助けてください。