Parsen von html mit SAX-parser
Ich versuche zu analysieren, die normale html-Datei mit SAX-parser.
SAXBuilder builder2 = new SAXBuilder();
try {
Document sdoc = (Document)builder2.build(readFile);
NodeList nl=sdoc.getElementsByTagName("body");
System.out.println("nodelist>>>>>>>>>>>"+nl.getLength());
} catch (JDOMException e1) {
e1.printStackTrace();
}
aber ich bin immer die Ausnahme
Open quote is expected for attribute "{1}" associated with an element type "class".
kann jemand bitte sagen Sie mir, warum bin ich immer diese exception, das html-Dokument ist wohlgeformt und es hat alle die öffnen und schließen-tags richtig.
Vielen Dank im Voraus.
Gibt es einen bestimmten Grund, warum Sie dies tun wollen, die mit SAX?
Nein, wollen einfach nur zu Holen den Inhalt aus der html-Datei, Also benutzte ich es. Gibt es irgendeine andere Lösung?
Mit dem SAX könntest du Parsen von XHTML, aber ich bin mir nicht sicher, ob es auch parse HTML (zumindest die meisten XML-parser nicht). HTML nicht haben, um ein wohlgeformtes XML.
Nein, wollen einfach nur zu Holen den Inhalt aus der html-Datei, Also benutzte ich es. Gibt es irgendeine andere Lösung?
Mit dem SAX könntest du Parsen von XHTML, aber ich bin mir nicht sicher, ob es auch parse HTML (zumindest die meisten XML-parser nicht). HTML nicht haben, um ein wohlgeformtes XML.
InformationsquelleAutor user972590 | 2011-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie flash sagt, müssen Sie ein HTML-parser, nicht einen XML-parser. HTML ist nicht XML.
Guten Parser, die ich verwendet habe sind Neko und TagSoup. Neko ist eine gute Allround-parser; TagSoup speziell soll in der Lage sein, zu analysieren, alles, egal, wie schlecht ausgebildet.
InformationsquelleAutor Tom Anderson
Bitte haben Sie einen Blick auf HtmlParser. Normalerweise SAX ist nicht eine gute Lösung zum analysieren von html.
InformationsquelleAutor flash
Im Allgemeinen, Sie können nicht Parsen von HTML mit einem XML-parser:
HTML-element-tags sind nicht erforderlich, um in allen Fällen. (Zum Beispiel ein
<p>
- tag nicht erforderlich, eine passende</p>
tag.) Dadurch wird die terminal-Verdauungsbeschwerden-für einen XML-parser.Real-world HTML ist berüchtigt dafür, dass Sie nicht konform zu den HTML-Spezifikation, geschweige denn eine XML-kompatible Untermenge von HTML.
Jedoch, wenn Sie Ihre Eingabe Dokument ist XHTML, sollten Sie in der Theorie in der Lage sein, um Sie mit einem XML-parser wie SAX. Sie sollte sogar in der Lage sein, das Dokument zu validieren gegen XHTML schema.
InformationsquelleAutor Stephen C