AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HTML Datei parsen

Ein Thema von EConvertError · begonnen am 23. Jun 2004 · letzter Beitrag vom 25. Jun 2004
Antwort Antwort
Seite 1 von 3  1 23      
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#1

HTML Datei parsen

  Alt 23. Jun 2004, 20:44
Hallo!

Hoffentlich bin ich hier im richtigen Forum...

Ich habe hier eine HTML Datei (siehe Anhang), mit einigen Tabellen. Nun möchte ich die Daten der ersten Tabelle in eine Listview übertragen.

Dazu muss ich ja die Datei parsen. Ich habe auch schon die einzelnen Zeilen, die zu parsen sind mittels einer Schleife ermittelt.

Wie aber bekomme ich die eigentlichen Daten aus den Zeilen heraus? Ich habe schon Experimente mit Pos() und Copy() gemacht, werde damit aber einfach nicht fertig.

Code:
<td align="right" class="topline"><font class="normtxt" size="2" face="Arial">[b]MO 21.06.04[/b]</font></td>

<td align="center" class="topline"><font class="normtxt" size="2" face="Arial">5C</font></td>

<td align="right">5C;</td>

<td align="center"></td>
Aus diesen Zeilen (oben), zum Beispiel, will ich folgende Strings in die Listview übertragen: MO 21.06.04,5C, . (ich brauch nur die Strings, keine Schriftart, etc.)

Die Länge und der Inhalt der Tabelle sind zur Laufzeit immer verschieden. Nur der Aufbau der Datei ist immer gleich.

Vielen Dank,
EConvertError
Angehängte Dateien
Dateityp: zip result.zip (2,3 KB, 22x aufgerufen)
Andreas N.
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#2

Re: HTML Datei parsen

  Alt 23. Jun 2004, 20:46
such mal unter , pos copy delete, val
Nico Müller
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: HTML Datei parsen

  Alt 23. Jun 2004, 22:56
Noch besser wäre ein richtig schöner HTML-Parser (evtl. mit DOM-Unterstützung).

Wenn man bspw. den TWebBrowser verwendet, hat man Zugriff auf dessen "Document", und ab da ist wie in JavaScript. Man kann bestimmte Elemente suchen, bspw. alle Links, und den Inhalt auslesen und anzeigen, usw.

Warum ich den Parser erwähne?
Eine HTML-Tag in dieser Form:
Code:
<table border="0" cellspacing="0"
  cellpadding="4"
  style="border:#000000 1px solid;">
(also mehrzeilig) wäre ja nicht falsch, aber beim zeilenweisen Einlesen würde evtl. die copy/pos-Routine aus dem Tritt kommen ...
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#4

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:08
Danke für die schnelle Hilfe!

Also den TWebBrowser verwende ich nicht. Ein Parser wäre sicher fein, allerdings denke ich, dass ich es mit ein wenig Hilfe auch ohne schaffe.

Die auszulesenden Zeilen sind sicher nicht mehrzeilig, also dürfte es mit einer selbstgebauten Routine auch funktionieren. Allerdings habe ich mich schon tagelang mit Copy(), Pos(), Delete(), etc. gespielt, aber leider ohne Erfolg.

Leider habe ich mit dem Parsen von Texten überhaupt keine Übung. Im Prinzip bräuchte ich eine Funktion (oder zumindest einen Denkanstoß zu einer Funktion), die alle 3 oben angeführten Zeilen parsen kann.

Wie geschrieben, ich brauche nur die Strings (Schrift, Ausrichtung, etc. ist nicht nötig).

Mit freudlichen Grüßen,
EConvertError
Andreas N.
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#5

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:28
Reguläre Ausdrücke sind auch immer wieder geschickt.

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:31
Wo ist das Problem? Du suchst dir mit
Delphi-Quellcode:
pos('[b]', Zeile);
[/b]

den Anfang der gewünschten Zeichenfolge und mit
pos('
', Zeile); das Ende und dann kopierst du mit copy die Zeichenfolge raus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#7

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:47
Soweit war ich auch schon. Leider gibt es da aber noch die 2 anderen Zeilen, die kein '' und '' enthalten.
Die Lösung des Problems kann doch nicht sein, dass ich 3 verschiedene Prozeduren brauche?
Es wird doch möglich sein, alles mit einer Prozedur herauszuparsen? Nur wie?

Danke,
EConvertError
Andreas N.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:50
Wenn du mit pos arbeitest wird es nicht anderes gehen. Wie weit du mit Regulären Ausdrücken kommst, kann ich dir nicht sagen, da hab eich keinerlei Erfahrung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#9

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:50
Reguläre Ausdrücke, damit geht das. Lies dir mal das Kapitel genau durch, Google weiß viel dazu!
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: HTML Datei parsen

  Alt 24. Jun 2004, 13:51
hi,

bei torry habe ich eine HTML-parser komponente gefunden:
http://torry.net/vcl/internet/html/jshtmpsr.zip

die ist ziemlich leicht zu bedienen. das sollte dir einige arbeit abnehmen, da du alle tags "durchwandern" kannst und auch den text zwischen zwei parametern ausgeben lassen kannst und auch die parameter eines tags.

Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz