BCB怎样使用以下接口?目的是我想获得Html页中的纯文本,不包括<html>代码,是否有其他方法?请赐教!(200分)

  • 主题发起人 主题发起人 proton
  • 开始时间 开始时间
P

proton

Unregistered / Unconfirmed
GUEST, unregistred user!
C++Builder怎样使用以下接口?目的是我想获得Html页中的纯文本,不包括&lt;html&gt;代码,是否有其他方法?请赐教!


IWebContent
IWebComponent
IHTMLField
IHTMLForm //我还想用它获得Html页中的Form

这样:
IWebContent *obj; //提示IWebContent未定义
 
我有一AnsiString字符串存放了Html文本,怎么把它交给IHTMLDocument2 进行处理?
 
转贴CSDN中的回复,但不完全,


回复人: bilyx(无言) (2001-9-18 11:08:38) 得0分
下面的代码基本上可以完成你所要求的功能

IHTMLDocument2* pDoc;
IHTMLElement* pEl;
BSTR Html;
HRESULT hr;
hr = CppWebBrowser1-&gt;Document-&gt;QueryInterface(IID_IHTMLDocument2, (void**)&amp;pDoc);
if (hr == S_OK)
{
hr = pDoc-&gt;get_body(&amp;pEl);
if(hr == S_OK)
{
pEl-&gt;get_outerText(&amp;Html);
Memo1-&gt;Text = AnsiString(Html);
}
}

不要忘了 #include "mshtml.h".

回复人: HEROIN(HEROIN) (2001-9-19 17:51:53) 得0分

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TMemoryStream *stm = new TMemoryStream();
Memo1-&gt;Lines-&gt;SaveToStream(stm);

IPersistStreamInit *psi;
stm-&gt;Seek(0,0);

//if you pass soOwned instead, the stream will be freed for you
TStreamAdapter *sa = new TStreamAdapter(stm,soReference);

if (SUCCEEDED(wb-&gt;Document-&gt;QueryInterface(IID_IPersistStreamInit,(void **)&amp;psi)))
psi-&gt;Load(*sa);

delete stm;
}

这里难道不如CSDN吗?


 
唉,这里面的人全是D狂,已经忘了什么叫BCB了。
 
后退
顶部