Hallo,
ich versuche seit vorgestern folgendes Problem zu lösen:
Was bisher geht:
Ich lese mit JTidy eine beliebige HTML Datei ein. Diese wird dann in eine DOM-Baumstruktur gepackt. Das ganze sieht dann bei dem Beispiel
<html>
<head>
<title> Beispiel </title>
</head>
</html>
so aus:
HTML ist in dem Fall die Wurzel, Head ist das erste Kind, Title ist Kind von Head (einfach ausgedrückt).
Je nachdem wieviele Tags ineinander geschachtelt sind, handelt es sich ja um einen n-nären Baum.
Ich zerbreche mir nun den Kopf darüber, ob es einen allgemeinen rekursiven Algorithmus gibt um diesen Baum zu durchsuchen.
Ich habe z.B. schon den TreeWalker getestet, der funktioniert aber nicht mit meiner Datenstruktur da er auf dem SAX-Parser basiert.
Es muss doch auch möglich sein dieses Problem mit den von DOM vorgegebenen Methoden zu lösen.
Der Code oben dient der Veranschaulichung wie meine Datenstruktur zusammengesetzt ist.
Ich hoffe hier kann mir jemand helfen schließlich bin ich ja wahrscheinlich nicht der erste der
so einen DOM-Baum durchsuchen will.
MFG D.
ich versuche seit vorgestern folgendes Problem zu lösen:
Was bisher geht:
Ich lese mit JTidy eine beliebige HTML Datei ein. Diese wird dann in eine DOM-Baumstruktur gepackt. Das ganze sieht dann bei dem Beispiel
<html>
<head>
<title> Beispiel </title>
</head>
</html>
so aus:
HTML ist in dem Fall die Wurzel, Head ist das erste Kind, Title ist Kind von Head (einfach ausgedrückt).
Je nachdem wieviele Tags ineinander geschachtelt sind, handelt es sich ja um einen n-nären Baum.
Ich zerbreche mir nun den Kopf darüber, ob es einen allgemeinen rekursiven Algorithmus gibt um diesen Baum zu durchsuchen.
Ich habe z.B. schon den TreeWalker getestet, der funktioniert aber nicht mit meiner Datenstruktur da er auf dem SAX-Parser basiert.
Es muss doch auch möglich sein dieses Problem mit den von DOM vorgegebenen Methoden zu lösen.
Code:
URL sourceUrl=new URL(sourceUrlString);
Tidy Test = new Tidy();
Test.setShowWarnings(false);
Test.setQuiet(true);
Test.setOnlyErrors(false);
InputStream in = sourceUrl.openStream();
Document tidyDOM = Test.parseDOM(in, System.out);
in.close();
Der Code oben dient der Veranschaulichung wie meine Datenstruktur zusammengesetzt ist.
Ich hoffe hier kann mir jemand helfen schließlich bin ich ja wahrscheinlich nicht der erste der
so einen DOM-Baum durchsuchen will.
MFG D.