![]() |
Webbrowser quelltext auslesen
Delphi-Quellcode:
so lese ich den Browsertext aus habe aber damit ein Problem wenn sich z.b. noch Styles in dem Dokument befinden.
myDocument:=webbrowser1.Document;
browsertext := htmtext + myDocument.body.outerhtml+'</html>' ; Wie bekomme ich die denn dann auch noch raus ?? |
Re: Webbrowser quelltext auslesen
Du solltest das auslesen mittels DOM durchführen. Dazu steht dir die Unit
![]() |
Re: Webbrowser quelltext auslesen
Hallo,
einfacher als über das HTML-DOM kann man das geladene Dokument über die IPersistStream-Schnittstellen auslesen, die von fast allen MS-Komponenten unterstützt werden. Die Prozedur ![]()
Delphi-Quellcode:
Grüße vom marabu
function DocToString(doc: IDispatch): string;
var ps: IPersistStreamInit; sa: IStream; s: TStringStream; begin if Succeeded(doc.QueryInterface(IPersistStreamInit, ps)) then begin s := TStringStream.Create(''); sa := TStreamAdapter.Create(s, soReference) as IStream; if Succeeded(ps.Save(sa, True)) then Result := s.DataString else Result := ''; s.Free; end; end; |
Re: Webbrowser quelltext auslesen
Ja die Routine kenne ich aber hab das Problem das das dann im UTF 16 Format ist und ich das nicht unter delpi 5 nicht sauber angezeigt bekomme
|
Re: Webbrowser quelltext auslesen
Hallo,
die gezeigte Funktion arbeitet mit ANSI-kodierten Dokumenten. Wenn der Server dir anders kodierte Daten übermittelt, dann musst du einfach die unbedingte Zuweisung an Result durch eine bedingte ersetzen. WideStrings (UTF-16) sind ja leicht zu erkennen bzw. umzuwandeln und der Rest kann einfach mit Utf8ToAnsi() konvertiert werden. Wenn du nicht zurecht kommst, dann beschreibe mal genau, wo es hakt. Freundliche Grüße |
Re: Webbrowser quelltext auslesen
Ich habe die Funktion in Delphi 5 leider nicht drin um diese dann so zu konvertieren :-(
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz