Sad*_*deh 6 delphi indy html-parsing ihtmldocument
我下载了一个URL IdHTTP.Get,我需要搜索HTML标签并提取一些数据.
我怎样才能将IdHTTP.Get返回的字符串转换为IHTMLDocument2?
试试这个:
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;
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了这个问题,我可以找到一个很好的代码:
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;
Run Code Online (Sandbox Code Playgroud)
问候
| 归档时间: |
|
| 查看次数: |
18587 次 |
| 最近记录: |