Autor Beitrag
MrSaint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: Di 03.01.06 12:36 
Hi!

Hab den Parser auch mal getestet und hab mir dazu ein kleines Testprogramm geschrieben. Großes Problem bei folgendem Quelltext:

ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>

<font face="Verdana">Hallo <b> du da</font><font face="Courier New"> Ich bin </b>Courier!</font>

</BODY>
</HTML>


Ausgabe: Siehe Anhang!




MrSaint

Moderiert von user profile iconChristian S.: Code- durch XML-Tags ersetzt
Einloggen, um Attachments anzusehen!
_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
r4id3n Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 115

Win XP Home, Win XP Pro
D6 Prof, D7 Ent, K3 Ent
BeitragVerfasst: Di 03.01.06 17:02 
Der Parser hat in der tat einige Parsingprobleme auf die ich leider auch gestoßen bin!
Auch gibt es einige Probleme mit XHTML ...

Ich werde, sobald ich wieder etwas Zeit finde, die Version 2 des Parsers hier vorstellen!

BTW: Links finden ist doch ganz einfach ;-)

ausblenden Delphi-Quelltext
1:
function GetElementListByTag(Tag:String):TList;					


Ruf doch die einfach mal mit

ausblenden Delphi-Quelltext
1:
MeineListe:=HTMLDokument.GetElementListByTag('A');					


auf !?

In der Liste befinden sich dann alle
THTMLElements mit Tag A

Wichtig allerdings!!! Die Elemente der Liste nicht freigeben! Auch stehen die Elemente nur zur Verfügung, solange HTMLDokument nicht freigegeben wurde!!!!

@MrSaint, könntest du dein Demoprogramm villeicht mal für die allgemeinheit posten? Dann brauch ich keins zu schreiben ;-);-)


Und danke für eure Comments ... Auch wenn die nicht immer ganz positiv waren!
MrSaint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1033
Erhaltene Danke: 1

WinXP Pro SP2
Delphi 6 Prof.
BeitragVerfasst: So 08.01.06 12:48 
Oh, öhm, das Testprogramm hat leider schon die ewigen Datengründe erreicht... War aber nichts tolles... Ein SynEdit in das der zu untersuchende HTML Code kam, ein Button zum analysieren und ein TTreeView zur Ausgabe. Beim Buttonklick habe ich den Code von deinem Parser parsen lassen und habe dann das ergebnis mit einer rekursiven Methode in dem TreeView ausgegeben... Also nichts sonderlich großes, 5-10 Minuten ;)



MrSaint

_________________
"people knew how to write small, efficient programs [...], a skill that has subsequently been lost"
Andrew S. Tanenbaum - Modern Operating Systems
Benedikt
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 09.02.06 17:45 
Hi r4id3n, ich bin im Moment dabei deine Komponente zu benutzen, allerdings stellt sich mir dabei ein Problem: Ich bräuchte die Position der jeweiligen Tags (evtl. als Property von THTMLElement), damit man einfach in der Datei dahinspringen kann?
Ist das evtl. mit deiner Komponente machbar oder kann jemand eine andere Empfehlen die das beherrscht, obwohl ich schon gern bei dieser bleiben würde, da ich sie sonst recht praktisch finde...

Danke und Gruß
Benedikt
neeoo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 16



BeitragVerfasst: Di 11.04.06 10:30 
r4id3n:

wann können wir mit der version 2 rechnen??? :P


neeoo
0xCC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 150



BeitragVerfasst: Fr 05.05.06 00:19 
user profile iconr4id3n hat folgendes geschrieben:
Der Parser hat in der tat einige Parsingprobleme auf die ich leider auch gestoßen bin!
Auch gibt es einige Probleme mit XHTML ...

Ich werde, sobald ich wieder etwas Zeit finde, die Version 2 des Parsers hier vorstellen!

BTW: Links finden ist doch ganz einfach ;-)

ausblenden Delphi-Quelltext
1:
function GetElementListByTag(Tag:String):TList;					


Ruf doch die einfach mal mit

ausblenden Delphi-Quelltext
1:
MeineListe:=HTMLDokument.GetElementListByTag('A');					


auf !?

In der Liste befinden sich dann alle
THTMLElements mit Tag A

Wichtig allerdings!!! Die Elemente der Liste nicht freigeben! Auch stehen die Elemente nur zur Verfügung, solange HTMLDokument nicht freigegeben wurde!!!!

@MrSaint, könntest du dein Demoprogramm villeicht mal für die allgemeinheit posten? Dann brauch ich keins zu schreiben ;-);-)


Und danke für eure Comments ... Auch wenn die nicht immer ganz positiv waren!


also so ?
das scheint aber irgendwie nicht zu funktionieren...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button1Click(Sender: TObject);
var doc : THTMLDocument;
    body: THTMLElement;
    i:integer;
    l:tlist;
begin
    doc.Create(readtextfile('C:\danzig.html'));
    body := doc.GetBodyElement ;
    //l := tlist.Create ;
    l :=    doc.GetElementListByTag('TABLE');

    caption := inttostr(l.Count);
    for i := 0 to l.Count - 1  do
       memo1.lines.add( THTMLElement(l.items[i]).Content );
    l.free;

    (*    doc.ToTHTMLElementList
    for i := 0 to body.ChildCount -1 do begin
       body.ChildItems[i].
    end; *)

end;


ausserdem gibts ne access violation beim schliessen des progs
7down
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 19.02.07 18:17 
Hallo,

ich weiß, der Thread is schon ein "Bisschen" alt *g*..
Aber ich bräuchte die neuste Version dieser Klasse, allerdings ist der Downloadlink tot :(

Oder hat/kennt jemand eine ähnliche Klasse/Komponente, die zu einer HTML-Seite den Objektbaum erstellt?

Vielen Dank schonmal

7down
Benedikt
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 19.02.07 18:32 
Hi,

ich hab die Komponente bei mir aufm Rechner und nutze sie auch aktiv. Wenn du willst kann ich sie dir online stellen.

MfG Benedikt Loepp
7down
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 19.02.07 18:42 
Das wär natürlich super :)

Danke dir schonmal!
7down
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 19.02.07 21:38 
Habe die Komponente jetzt per PN bekommen aber noch schnell für die Öffentlichkeit hochgeladen :)
rapidshare.com/files.../HTMLParser.rar.html

Ich guck mich jetzt mal bissel um, wenn ich noch Frage hab, werd ich euch nicht verschonen :D


Danke&Ciao
7down
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Mo 19.02.07 22:42 
Und nach 30 Tagen wenn des zeug nicht runtergeladen wird, dann ist die Datei weg.
Warum lädt ihr die Datei net einfach hier hoch?
Dann bleibt die Datei länger erhalten.
Ich lade des lieber etz hoch, bevor es keiner macht.

MfG
hui1991
Einloggen, um Attachments anzusehen!
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Do 27.12.07 19:28 
hat jemand zufällig gerade von euch ein Beispiel zur hand wie man diese Unit/klasse nutzt ?

Bin am überlegen ob ich sie bei mir unter Lazarus einsetzten könnte/sollte für ein Projekt was ich dann allerdings komplet neu erstellen müsste. Wurden denn schon die angesprochenen Fehler gefunden ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Mi 25.02.09 05:21 
ausblenden XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>

<font face="Verdana">Hallo <b> du da</font><font face="Courier New"> Ich bin </b>Courier!</font>

</BODY>
</HTML>


Naja, ist kein Wunder das Fehler kommen, bei nem falschen HTML Code xD

Zum Thema:
Gutes "Programm"