html parser : JAVA

Hallo Community,
bin langsam aber sicher am verzeifeln!!!

folgendes Problem:
ich habe eine Suchmaske (Java Applet), in der ich Suchbegriffe eingeben kann.
Nach dem Start der Suche sollen diverse HTML Files nach einen passen String () durchsucht werden. Eigentlich sind die Files HTML konform und können zeilenweise durchsucht werden.

Folgendes habe ich probiert... xpath / HTMLKit für Java aber ohne den gewünschten Erfolg...

Der String welcher durchforstet werden muss sieht wie folgt aus,mit unterschiedlichen html code davor und dahinter:

Code:
<td class="ipd" colspan="2" align="center" title="nummer">123456789</td>";

Also ich würde jetzt jede Zeilel einzelnd lesen und nach dem String title="nummer" suchen, wenn gefunden = true ist versuchen mit irgendwelchen String such mustern die nummer raus zu lesen und mit dem Suchtext vergleichen und wenn es passt die Seite in ein Array speichern.

Irgendwie muss es doch einen einfacheren Weg geben, denn ersten finde ich ist hier eine erhöhte falsche trefferquote und zweiten dauert das bei 100 HTML Files etwas lange. jeden einzelnd öffnen, durchstöbern und wieder schliessen (stream).

Kennt jemand eine etwas besser Methode? Wenn ja wie, bzw. bitte ein zwei Zeilen zur erklärung (Source) wenn es geht...


Wäre für unterstützung sehr Dankbar!!
 
Ich würde versuche einem DOM Tree aus dem HTML zu parsen. Den kannst du dann durchlaufen und dein td suchen.

cu
serow
 
Ich mach so was immer mit regulären Ausdrücken. Einfach einmal zum Test die Seite normal aufrufen, Quelltext nehmen, und dann daraus nen regulären Ausdruck mac hen.
 
auch mit regulären ausdrücken muss ich doch zeilenweise einlesen! Oder?
Ich wüsste nicht dass es in Java eine Funktion gibt die da lautet read.Block(); wie bei C#und konsorten.
Habe das ganze jetzt wie schon gesagt, so gelöst, dass ich zeilenweise durchgehe und das Stringmuster suche.... Geht auch schneller als ich dachte... bin bei 150 Html seiten und benötige knapp 2 sec.! kann man wohl mit leben...
 
Eigentl. Kann es nicht schneller gehen, da du ja auf jeden Fall dir jede Zeile einmal anschauen musst. Und wie du sie dir nun anschaust ist eigentl. egal. Das einzige womit man es noch optimieren könnte, wäre wenn man wüsste an welcher Stelle im Text sich der besagte Text befindet.
Wenn sich die Daten nicht so oft ändern wäre es interessant eine MySQL Datenbank aufzubauen, was einen erheblichen Geschwindigkeitsschub einbringen sollte.
 
Zurück
Oben