Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизIhtmldocumen2 Найти похожие ветки
← →
Opryshok (2004-01-20 11:35) [0]Доброе утро. мастера!
Вчера я задавал вопрос о парсинге ХТМЛ и дофорвардился до IHTMLDocument2.
Нашел следующий код для получения контента тэга <TITLE> в хтмл-файле:
var
IDoc : IHTMLDocument2;
Strl : TStringList;
strHTML : String;
v : Variant;
vTitle : string;
HTMLFileName: String;
begin
HTMLFileName := "d:\1.html";
Strl := TStringList.Create;
try
Strl.LoadFromFile(HTMLFileName);
Idoc:=CreateComObject(Class_HTMLDOcument) as IHTMLDocument2;
try
IDoc.designMode:="on";
while IDoc.readyState<>"complete" do
Application.ProcessMessages;
v:=VarArrayCreate([0,0],VarVariant);
strHTML := StringReplace(Strl.Text, #13#10, "<br>",
[rfReplaceAll]);
v[0]:= strHTML;
IDoc.write(PSafeArray(System.TVarData(v).VArray));
IDoc.designMode:="off";
while IDoc.readyState<>"complete" do
{!!!!!!!! ЗДЕСЬ ОШИБКА}
Application.ProcessMessages;
vTitle := iDoc.Title;
Label1.Caption := vTitle;
finally
IDoc := nil;
end;
finally
Strl.Free;
end;
end;
Так вот, если в хтмл-файле есть ошибка, то получаю
---------------------------
Error
---------------------------
A Runtime Error has occurred.
Do you wish to Debug?
Line: 1
Error: Syntax error
---------------------------
Yes No
---------------------------
столько раз, сколько ошибок в хтмлине. После всего этого получаю свой долгожданный тайтл.
ВОПРОС:
Можно избежать показывания этих месседжей? try ... except не помогает.
Спасибо за сотрудничество.
← →
nikkie (2004-01-20 15:22) [1]половина кода просто булшит какой-то.
procedure ParseHTML(HTML: WideString);
var
Doc: IHTMLDocument2;
v: Variant;
begin
Doc := CreateComObject(Class_HTMLDocument) as IHTMLDocument2;
v := VarArrayCreate([0, 0], VarVariant);
v[0] := HTML;
Doc.write(PSafeArray(System.TVarData(v).VArray));
ShowMessage(Doc.title);
end;
заодно и subject не вылезает.
← →
Opryshok (2004-01-20 16:16) [2]2 nikkie
Баааальшое спасибо за эезапл.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.115 c