Tidy HTML baum durchlaufen

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

ich hätte nochmal die Frage, da ich das unbedingt brauche:
kann ich irgendwie den private org.w3c.dom.Node tableNode; Node durchlaufen mit einer "einfachen" while oder so in der art:

So lese ich den HTML- Baum ein und erzeuge den Node:

Code:
node = tidy.parseDOM( in, null);

und den Node möchte ich eben dann durchlaufen und manche Texte in dem HTML- File ersetzen,

Wäre euch sehr Dankbar für Hilfe,

lg
 

MQue

Top Contributor
ich habe jetzt folgenden Code:

Code:
 NodeIterator it = null;
        try {
            it = parser.elements();        
            while(it.hasMoreNodes()) {
                Node htmlNode = it.nextNode();
                System.out.println("Das ist der Node: " + htmlNode);
                System.out.println("----------------------");                                            
                }
            } catch (ParserException ex) {
            ex.printStackTrace();
        }


und ich möchte einfach nur, dass die Struktur des HTML- Baumes durchlaufen wird, aber ich bekomme forlgende Ausgabe unten, der NodeIterator geht also nicht alle Tags nach der Reihe durch (html, head, title, body), sondern er nimmt den html- Node als ganzen Node, Das versteh ich nicht, beim einer XML- Datei mit einem SAXBuilder wird alles schön der Reihe nach durchlaufen,

Hat da jemand eine Lösung oder eine Erklärung, was ich da falsch mache bzw. was da schief läuft???

Vielen Dank,

Code:
Das ist der Node: Tag (0[0,0],6[0,6]): html
  Txt (6[0,6],9[1,1]): \n\t
  Tag (9[1,1],15[1,7]): head
    Txt (15[1,7],19[2,2]): \n\t\t
    Tag (19[2,2],91[2,74]): meta http-equiv="content-type" content="text/html; ch...
    Txt (91[2,74],95[3,2]): \n\t\t
    Tag (95[3,2],102[3,9]): title
      Txt (102[3,9],115[3,22]): Meine HomePage
      End (115[3,22],123[3,30]): /title
    Txt (123[3,30],126[4,1]): \n\t
    End (126[4,1],133[4,8]): /head
  Txt (133[4,8],136[5,1]): \n\t
  Tag (136[5,1],175[5,40]): body text="#000000" bgcolor="#FFF00F"
    Txt (175[5,40],184[7,2]): \t\n\t\t\n\t\t
    Tag (184[7,2],203[7,21]): div id="DateAndTime"
      Txt (203[7,21],208[8,3]): \n\t\t\t
      Tag (208[8,3],212[8,7]): ul
        Txt (212[8,7],218[9,4]): \n\t\t\t\t
        Tag (218[9,4],222[9,8]): li
          Txt (222[9,8],236[9,22]): Datum: @Datum@        // ich möchte genau diese Texte, die in @Text@ 
                                                                                  // sind, ersetzten, daher muss ich eben an diese Texte herankommen
          End (236[9,22],241[9,27]): /li
        Txt (241[9,27],249[10,3]): \t\t\t\n\t\t\t
        End (249[10,3],254[10,8]): /ul
      Txt (254[10,8],258[11,2]): \n\t\t
      End (258[11,2],264[11,8]): /div
    Txt (264[11,8],272[13,2]): \n\t\t\n\t\t
  /html

----------------------
Das ist der Node: Txt (6752[211,7],6754[212,0]): \n
----------------------
 

MQue

Top Contributor
Ja aber das kanns ja nicht sein, dass es den HTMLParser gibt und der nichtmal die Tags der reihe nach durchlaufen kann, Da brauch ich dann eh keinen Parser wenn das nicht möglich ist,
Hat keiner Erfahrung mit diesem HTML- Parser???


Bin für jeden Tipp dankbar,

PS: wenn ich es mit dem DOM mache, dann muss in der html- Datei ganz oben ja stehen:

<?xml version="1.0" encoding="ISO-8859-1"?>

und das kann ich nicht machen, da ich verschiedene HTML-Seiten so einlesen und bearbeiten möchte, wenn ich die obere Zeile in mein HTML eifüge, gehts natürlich aber ich verwende eben eine reine HTML- Seite (HTML4.01)
 

@x.l

Bekanntes Mitglied
Wenn ich dich richtig verstehe, holst du dir als erstes den HTML-Node, richtig?!

Dann möchtest du alles was darunter hängt durchlaufen, richtig?!

Da du ja vorher nicht weißt, wiviele Elemente drunter hängen und wie tief die Struktur ist, wirst du das ganze Ding rekursiv durchlaufen müssen. Und immer wenn du auf eine "Markierung" triffst (also bei dir @Text@), dann machst du dort eine Ersetzung!
 

hama

Mitglied
Hallo Michael,
ich habe ein Problem mit JTidy, und hoffe, dass Du mir helfen kannst!
ich versuche mit JTidy eine HTML-Datei zu parsen.
Ich bekomme eigentlich auf den Trace die Ausgabe als XHTML, aber mit folgende Fehlermeldung am Ende!

09.07.2009 16:47:56 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
at org.w3c.tidy.PPrint.printText(PPrint.java:638)
at org.w3c.tidy.PPrint.printPI(PPrint.java:1081)
at org.w3c.tidy.PPrint.printTree(PPrint.java:1284)
at org.w3c.tidy.PPrint.printTree(PPrint.java:1279)
at org.w3c.tidy.Tidy.parse(Tidy.java:1294)
at org.w3c.tidy.Tidy.parse(Tidy.java:1075)
at org.w3c.tidy.Tidy.parseDOM(Tidy.java:1314)
at de.in.KomponistenAction.execute(KomponistenAction.java:400)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
....

Also, die Fehlermeldung der Klasse KomponistenAction.java:400 ist wie folgt implementiert:

String str = "hier ist die HTML-Datei";
FileInputStream fin = new FileInputStream(str);

StringWriter errbuf = new StringWriter();
tidy.setErrout(new PrintWriter(errbuf));
ByteArrayOutputStream os = new ByteArrayOutputStream();

org.w3c.dom.Document doc = tidy.parseDOM( fin, os ); // Zeile 400

-------
ich danke Dir für eine posetive Antwort :)
Gruß,
Hama
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Die Ausgabe von Tidy in eine Datei umleiten Allgemeine Java-Themen 3
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
I HTML / XHTML Seite nach Excel exportieren. Suche Lib Allgemeine Java-Themen 12
F Kennt ihr eine Library um 2 HTML Seiten zu diffen? Allgemeine Java-Themen 8
K HTMLEditor HTML Text in Rich Text umwandeln Allgemeine Java-Themen 14
N Value Wert aus HTML-Button mittels thymeleaf spring an java übergeben Allgemeine Java-Themen 2
N Lottowebsite programmieren mittels Java, HTML,.... Allgemeine Java-Themen 7
S HTML den ich von einer URL hole nicht identisch mit dem HTML im Browser Allgemeine Java-Themen 1
M Html Seite auslesen Allgemeine Java-Themen 16
Developer_X Website HTML Code von HTTPS URL laden Allgemeine Java-Themen 0
L HTML Formular ausführen Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
A Applet in HTML einbinden Allgemeine Java-Themen 1
KeVoZ_ JSoup - HTML Tag entfernen Allgemeine Java-Themen 1
I HTML einer Website auslesen liefert nur head Allgemeine Java-Themen 6
perlenfischer1984 HTML Code decodieren Allgemeine Java-Themen 2
stylegangsta Mehrere html seiten einer Homepage einlesen und als Textdatei ausgeben Allgemeine Java-Themen 14
P HTML Text bearbeiten Allgemeine Java-Themen 1
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
OnDemand String aus html einlesen Allgemeine Java-Themen 2
OnDemand Substring einer HTML Seite will nicht Allgemeine Java-Themen 5
S Applet in html laden; InvocationTargetException,.. nur warum ? Allgemeine Java-Themen 0
R HTML Tabelle durchsuchen Allgemeine Java-Themen 3
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
T Keyword Highlighting in HTML Allgemeine Java-Themen 5
B Best Practice HTML Output Optimal implementieren Allgemeine Java-Themen 3
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
H HTML Parsing errors Allgemeine Java-Themen 9
P Aktuellen HTML Code auslesen (von JS manipuliert) Allgemeine Java-Themen 3
M HTML-Code von Webseite über Browser oder Console auslesen?? Allgemeine Java-Themen 5
S Robuste Methode um Text von HTML code zu extrahieren..? Allgemeine Java-Themen 6
S Bekomme mit Scanner und URL keine Html-Seite ausgelesen Allgemeine Java-Themen 3
C JEditorPane langsam großes HTML Allgemeine Java-Themen 8
M html aus aktuellem Browserfenster mitlesen lassen Allgemeine Java-Themen 5
T Kann HTML Datei nicht lesen Allgemeine Java-Themen 3
S HTML-Quelltext nach bestimmter Stelle durchsuchen Allgemeine Java-Themen 2
B HTML Tags in Strings umwandeln Allgemeine Java-Themen 4
S BufferedReader/PrintWriter an einer HTML Allgemeine Java-Themen 6
T HTML Tag Position mittels Pattern ermitteln Allgemeine Java-Themen 7
C Attribute aus HTML Tags auslesen Allgemeine Java-Themen 6
M Wicket Html Allgemeine Java-Themen 2
S Fehler beim ausführen des HTML Allgemeine Java-Themen 7
S Fehler Applet-HTML Allgemeine Java-Themen 5
B suchfunktion in html integrieren Allgemeine Java-Themen 3
DEvent Wieso ist Javadoc mit Html Tags? Allgemeine Java-Themen 47
P RegEx mit HTML Parser für Java möglich? Allgemeine Java-Themen 10
B RTF zu HTML Allgemeine Java-Themen 3
S Von HTML-Seite den Titel bekommen Allgemeine Java-Themen 2
M .jar in HTML einbinden Allgemeine Java-Themen 5
H Kleiner HTML Parser (Facharbeit) Allgemeine Java-Themen 11
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
J Überprüfen ob URL eine HTML Datei referenziert Allgemeine Java-Themen 4
E Zeilenumbruch html Allgemeine Java-Themen 3
J URLs aus HTML Datei extrahieren Allgemeine Java-Themen 2
G Swing JEditorPaneAppender (Output im HTML-Format) Allgemeine Java-Themen 12
W Java Anwendung in HTML Allgemeine Java-Themen 2
M Html Unit Whitespace-Problem Allgemeine Java-Themen 4
J HTML-Sonderzeichen ersetzen Allgemeine Java-Themen 2
M HTML-Websiten verarbeiten Allgemeine Java-Themen 8
A Index Datei aus HTML-Dateien Allgemeine Java-Themen 7
S HTML => DOM - Welcher Parser für meine Zwecke? Allgemeine Java-Themen 3
I HTML Seite laden Allgemeine Java-Themen 6
W Saubere Lösung für das Auslesen einer Html Seite (Mehrsprachigkeit) Allgemeine Java-Themen 5
M String in Html Text umwandeln Allgemeine Java-Themen 2
S Formatierungen aus HTML-Dokument übernehmen und in Word docx schreiben Allgemeine Java-Themen 3
E HTML File mit Umlaute einlesen Allgemeine Java-Themen 8
T HTML Parser Allgemeine Java-Themen 7
E Regex HTML Tag und Inhalt löschen Allgemeine Java-Themen 4
S Swing mit JEditorPane per HTML auf Bilder in JAR zugreifen. Allgemeine Java-Themen 3
S Regulärer Ausdruck für HTML-Tag Allgemeine Java-Themen 18
H Java Methode zum HTML encodieren/decodieren Allgemeine Java-Themen 2
Daniel_L Bug in Copy-Funktion bei HTML-Editorpane? Allgemeine Java-Themen 4
M JApplet einbinden in HTML Allgemeine Java-Themen 19
F Problem mit regulären Ausdruck in Zusammenhang mit HTML Allgemeine Java-Themen 8
T JavaScript aus HTML im JEditorPane ausführen? Allgemeine Java-Themen 5
S PDF nach HTML oder XML Allgemeine Java-Themen 2
O Tastendrücke in verstecktes HTML-Formular schreiben Allgemeine Java-Themen 4
D Strings von HTML befreien Allgemeine Java-Themen 17
A HTML-Seite aufrufen, drucken und zum Programm zurückkehren Allgemeine Java-Themen 2
E Html tags entfernen optimieren Allgemeine Java-Themen 12
Q API zum Verarbeiten von HTML Allgemeine Java-Themen 4
DerEisteeTrinker PDF mit seiner Formatierung in HTML umwandeln Allgemeine Java-Themen 15
B Java in HTML stellen Allgemeine Java-Themen 11
M id aus HTML (Regex) Allgemeine Java-Themen 7
D HTML mit Java verknüpfen Allgemeine Java-Themen 2
W HTML-Pfad Allgemeine Java-Themen 4
G HTML-Datei einlesen, Plain Text in Textfile speichern Allgemeine Java-Themen 4
A HTML-Seite wieder schließen Allgemeine Java-Themen 2
E JTidy html "hidden" Button drücken Allgemeine Java-Themen 7
faetzminator Regex zur Suche von "value-losen" Attributen in HTML Tags Allgemeine Java-Themen 7
data89 Java und HTML-Seiten mit Bildern - Wie passt das zusammen? Allgemeine Java-Themen 2
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
T Webseite (HTML) Parser gesucht Allgemeine Java-Themen 8
Daniel_L RegEx: UBB in HTML konvertieren, Problem Verschachtelung Allgemeine Java-Themen 3
T html Datei in jrxml Datei (JasperReports) umwandeln Allgemeine Java-Themen 6
J Seltsame Exception beim Java Applet einbinden in Html Allgemeine Java-Themen 2
G Import von HTML-Dateien Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben