首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用TIdHTTP中的字符串创建IHTMLDocument2?

如何使用TIdHTTP中的字符串创建IHTMLDocument2?
EN

Stack Overflow用户
提问于 2012-08-11 23:27:28
回答 2查看 21.4K关注 0票数 6

我用IdHTTP.Get下载了一个网址,我需要搜索HTML标记并提取一些数据。

如何将IdHTTP.Get返回的字符串转换为IHTMLDocument2

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-11 23:57:59

我谷歌了这个问题,我可以找到一个很好的代码来解决这个问题:

代码语言:javascript
复制
Idoc := CreateComObject(Class_HTMLDOcument) as IHTMLDocument2;
try
  IDoc.designMode := 'on';
  while IDoc.readyState <> 'complete' do
    Application.ProcessMessages;
  v := VarArrayCreate([0, 0], VarVariant);
  v[0] := MyHTML;
  IDoc.Write(PSafeArray(System.TVarData(v).VArray));
  IDoc.designMode := 'off';
  while IDoc.readyState <> 'complete' do
    Application.ProcessMessages;

  ParseHTML(IDoc);
finally
  IDoc := nil;
end;

问候

票数 3
EN

Stack Overflow用户

发布于 2012-08-12 16:31:16

试试这个:

代码语言:javascript
复制
uses
  ... Variants, MSHTML, ActiveX;

var Cache: string;
    V: OleVariant;
    Doc: IHTMLDocument2;
begin
  ...

  Cache := IdHTTP.Get(url);
  Doc := coHTMLDocument.Create as IHTMLDocument2; // create IHTMLDocument2 instance
  V := VarArrayCreate([0,0], varVariant);
  V[0] := Cache;
  Doc.Write(PSafeArray(TVarData(v).VArray)); // write data from IdHTTP

  // Work with Doc
end;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11915903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档