最近有个项目需要读取网页进行数据对接。网页内容一项如下:<div id="div1" name="RE" >你好,这是数据!</div>
试问,如何用VC通过Microsoft web browser控制,读取上面DIV栏中的数据内容?
最终结果要求是:CString sStr;sStr="你好,这是数据!"请指教。

解决方案 »

  1.   

    利用CHtmlView等,加载页面,然后就可以通过IHtmlDocument等来获取内容
      

  2.   

    因计划要把这一部份封成DLL,所以没有用CHtmlView,而是用Microsoft web browser控件。我7年前用VB写过代码也取出过,现在也忘了不清楚用VC怎么取出来。望楼下多指点。
      

  3.   

    可通过网页的窗口句柄HWND,得到其IHTMLDocument2指针。
    然后再通过IHTMLDocument2 访问该页面的内容。参考资料:
    1、知道一个网页的HWND,如何得到其页面的文本内容,或者是源码也可以。http://www.debugease.com/vb/3188722.html
    2、MSDN文章:HOWTO: Get IHTMLDocument2 from a HWND (Q249232)
      

  4.   

    可以按着xml来解析,找一个xml解析类就可以
      

  5.   

    bool CPublic::sGetText(CString URL, CString &OutText)
    {
    CInternetSession session;
    try
    {
    CHttpFile *pF = (CHttpFile *)session.OpenURL(URL, 1, INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_RELOAD, NULL, 0); CString strTempData="";
    CString strData="";
    while (pF->ReadString(strTempData))
    {
    strData += "\r\n";
    strData += strTempData;
    }
    //AfxMessageBox(strData);//显示网页源代码
    OutText = strData;
    strTempData.ReleaseBuffer();
    strData.ReleaseBuffer();
    pF->Close();
    delete pF;
    session.Close();       //关闭会话
    }
    catch (CInternetException *e)
    {
    e->Delete();
    } if (OutText.IsEmpty())
    {
    return false;
    }
    else
    {
    return true;
    }
    }
      

  6.   

    通过ActiveX类WinInet可以。