Cómo recorrer elementos en un archivo HTML local a través de la interfaz IHTMLDocument2
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? p>