(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
Delphi 11 Alexandria
|
AW: Klasse HTMLDocument
21. Mai 2014, 19:41
Moin Zusammen,
hier mal ein kleines Beispiel.
(es bezieht sich auf diesen Thread: DIV classes mit getElementByID auslesen)
Delphi-Quellcode:
uses Clipbrd,csHTMLTypes;
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
var
LDOC : TcsHTMLDocument;
iPos : Integer;
sName : string;
sDate : string;
sGroup : string;
sText : string;
iPreStart : Integer;
iPreEnd : Integer;
i : Integer;
begin
LDOC := TcsHTMLDocument.Create;
try
LDOC.Content := Clipboard.AsText;
iPos := 0;
sDate := 'Not Found';
sName := 'Not Found';
sGroup := 'Not Found';
sText := 'Not Found';
while True do begin
iPos := LDOC.FindElementWithAttribValue(hetStartTag,'div','class','FFT_header',iPos);
if iPos = -1 then Break;
inc(iPos);
sDate := LDOC.Element[iPos].Name;
iPos := LDOC.FindElementWithAttribValue(hetStartTag,'span','class','FFT_header_for_name',iPos);
if iPos = -1 then Break;
Inc(iPos);
sName := LDOC.Element[iPos].Name;
iPos := LDOC.FindElementWithAttribValue(hetStartTag,'span','class','FFT_header_group',iPos);
if iPos = -1 then Break;
inc(iPos);
sGroup := LDOC.Element[iPos].Name;
iPos := LDOC.FindElementWithAttribValue(hetStartTag,'div','class','fftText',iPos);
if iPos = -1 then Break;
if not LDOC.FindMatchingTagsBetween('pre',iPos,LDOC.Count-1,iPreStart,iPreEnd) then Break;
sText := '';
for i := iPreStart to iPreEnd do begin
if LDOC.Element[i].ElementType in [hetContent,hetContentPre] then begin
sText := sText + LDOC.Element[i].Name;
end else begin
if LDOC.Element[i].ElementType = hetStandaloneTag then begin
if LDOC.Element[i].Name = 'br' then begin
sText := sText+#13#10;
end;
end;
end;
end;
ShowMessage('Datum: '+sDate+#13#10+'Name: '+sName + #13#10+'Gruppe: '+sGroup+#13#10+'Text: '+sText);
sDate := 'Not Found';
sName := 'Not Found';
sGroup := 'Not Found';
sText := 'Not Found';
end;
finally
LDOC.Free;
end;
Close;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|