SeaMan75, post: 767281:Каким способом лучше всего очень быстро парсить HTML? - использовать готовые решения и какие или самому изобретать велосипед?
Использование regexp всегда универсально в этом случаеSeaMan75, post: 767281:Каким способом лучше всего очень быстро парсить HTML? - использовать готовые решения и какие или самому изобретать велосипед?
uses HTMLPars;
var
HTMLTag : THTMLTag;
HTMLParser : THTMLParser;
obj : TObject;
aTag, avalue: String;
i : Integer;
begin
HTMLParser:=THTMLParser.Create;
HTMLParser.Lines.Text:=tmp;
HTMLParser.Execute;
//
for i:= 1 to HTMLParser.parsed.count do
begin
obj:=HTMLParser.parsed[i-1];
if obj.classtype=THTMLText then
avalue:=avalue+THTMLText(obj).Line;
if (obj.classtype=THTMLTag)and(not ftovar) then
begin
HTMLTag:=THTMLTag(obj);
aTag :=LowerCase(HTMLTag.Name);
if (aTag='tr') then
begin
...
Continue;
end;
if (aTag='/tr') then
begin
// что то делаем с собранным текстом avalue
...
avalue:='';
Continue;
end;
end;
end;
end;
TRegExpr очень медленный, особенно для больших объемов.DelGor, post: 767296:TRegExpr и т.п - Регулярки уже не модные что ли..
Да и вообще, задача не понятна.. всё от задачи зависит, что парсить, может можно обойтись Copy\Pos..
а что это такое вообще - компонент? может дадите ссылку хотя бы на описание?test-593, post: 767305:DiHTML работает нормально, плюс, у них есть версия для разбора XML