Tags und Taginhalt aus gestreamten HTML-Code auslesen

W

web_007

Hallo,

ich habe versucht HTML Tags aus einer Testdatei zu lesen. Leider bekomme ich immer eine NullPointerException wenn ich nach tag div und attribut id suche. Alle andern Suchen funktionieren (z.B. nach a und href)

mein Quelltext:
BufferedReader br = new BufferedReader(new FileReader("test.php"));

HTMLEditorKit editorKit = new HTMLEditorKit();
HTMLDocument htmlDoc = new HTMLDocument();
htmlDoc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
editorKit.read(br, htmlDoc, 0);

HTMLDocument.Iterator iter = htmlDoc.getIterator(HTML.Tag.DIV);
iter.isValid();
while (iter.isValid()) {
System.out.println(iter.getAttributes().getAttribute(HTML.Attribute.ID));
iter.next();
}


das testdoc test.php:
<div id="test">17</div>
<a href="seite.php">Link</a>

was läuft da falsch
 
Moin,

WO genau läuft es denn falsch ... sprich: in welcher Zeile kommt die Exception?

Wie lautet die genaue Meldung?
Was sagt der Debugger?

Gruß
Klaus
 
  • Gefällt mir
Reaktionen: cow
Der Fehler taucht genau bei iter.isValid(); auf. Ich hatte schon einmal weiter im INet geschaut und eine Lösung schien gewesen zu sein auf JDK1.6 umzusteigen. Aber auch das hat bei mir nichs genutzt.
 
Moin,

nun bin zwar kein ausgesprochener HTML-Experte (zumindest war hierbei Iteratoren angeht), aber mir sind zwei Dinge aufgefallen :

(a) wozu brauchst Du den Aufruf überhaupt, wenn Du ihn schließend in der Schleife abhandelst ?

(b) was ist mit DIV in:
HTML:
HTMLDocument.Iterator iter = htmlDoc.getIterator(HTML.Tag.DIV);
Gibt es dieses Tag denn überhaupt bei Dir? Andernfalls würde es da ja vlt. erklären, warum iter = null ist .....

Gruß
Klaus
 
Zurück