Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo recorrer elementos en un archivo HTML local a través de la interfaz IHTMLDocument2

Cómo recorrer elementos en un archivo HTML local a través de la interfaz IHTMLDocument2

Resuelto:

CString?CTestDlg::ParseElementFromResponse(CString?strResponse)

{

CString?strRet("");

/ Declarar nuestra variable MSHTML y crear un documento

MSHTML::IHTMLDocument2Ptr?document;

MSHTML::IHTMLDocument2Ptr?pDoc;

MSHTML::IHTMLDocument3Ptr ?pDoc3 ;

MSHTML::IHTMLElementCollectionPtr?pCollection;

MSHTML::IHTMLElementPtr?pElement;

HRESULT?hr?=?CoCreateInstance(CLSID_ HTMLDocument,? NULL, ?CLSCTX_INPROC_SERVER,?IID_IHTMLDocument2,?(void**)&pDoc);

//put?Ponga el código en SAFEARRAY y escríbalo en el documento

SAFEARRAY *psa=SafeArrayCreateVector( VT _VARIANT,?0,?1);

VARIANT?*param;

bstr_t?bsData?=?(LPCTSTR)strResponse;

hr?= ?SafeArrayAccessData(psa,? (LPVOID*)¶m);

param-gt;vt?=?VT_BSTR;

param-gt;bstrVal? =?(BSTR)bsData;

hr?=?pDoc-gt;write(psa);

hr?=?pDoc-gt;close();

SafeArrayDestroy(psa) ;

//¿Lo haré? Tenga en cuenta que solo está disponible en IE5

//Si no desea usarlo, puede ejecutarlo directamente en HTML Todas las etiquetas en HTML

//Si no quieres usarlo, puedes ejecutar todas las etiquetas en HTML directamente

/Si no quieres usarlo, puedes ejecutar todas las etiquetas en HTML directamente

/Si no desea usarlo, puede ejecutar todas las etiquetas en HTML directamente

/Si no desea usarlo, puede puede ejecutar todas las etiquetas en HTML directamente

.

//(IHTMLDocument2-gt; all? atributo)

pDoc3?=?pDoc;

/Mostrar cada enlace en el ListBox (etiqueta A) HREF parámetros

pCollection?=?pDoc3-gt;getElementsByTagName(L "input");

for(long?i=0;?ilt;pCollection-gt;length; ?i )

{

pElement?=?pCollection-gt; item(i,?(long)0);

if(pElement!=NULL )

{

//El segundo parámetro dice que desea obtener el texto dentro del atributo, porque

strRet?(LPCTSTR)bstr_t(pElement-gt ; getAttribute("nombre",?2));

strRet? =?" =";

strRet? =?(LPCTSTR)bstr_t(pElement-gt;getAttribute(" valor ",?2));

strRet? =?";";

}

}}

regresar?