Java - SAX-Parser auf einem XHTML-Dokument
-
18-09-2019 - |
Frage
Ich versuche, einen SAX-Parser für ein XHTML-Dokument zu schreiben, die ich aus dem Internet herunterladen. Anfangs fand ich ein Problem mit der Doctype Deklaration mit (I out von
Lösung (X) HTML Sie zu analysieren versuchen, ist nicht gültig XML (sonst würden Sie nicht einen SAX-Parsing-Fehler bekommen). Und ein Doppel-Zeichen ( „ Es gibt Werkzeuge, die Sie verwenden können, wie zum Beispiel tagsoup , die erzeugen richtige SAX Ereignisse (können Sie den gleichen SAX / XML-Parsing-Code nach wie vor verwenden), aber tagsoup wird die Kartierung der schlecht gebildeten-HTML-Ereignisse, um die ordnungsgemäßen SAX / XML Events kümmern. &&
“) bestätigt, dass. Das bedeutet, dass auf seinem eigenen, nicht einen einfachen XML-Parser verwenden, kann das Dokument zu analysieren.
Andere Tipps
Ich glaube, Sie müssen den Skript Inhalt in einem CDATA-Abschnitt setzen, zum Beispiel http : //www.w3schools.com/TAGS/tag_script.asp das folgende Beispiel gibt:
<script type="text/javascript"><![CDATA[
document.write("Hello World!")
//]]></script>
NekoHTML wird wahrscheinlich dieses Problem zu beheben für Sie auch, Sie es als eine der XMLReader verwenden.
Wenn Sie einen SAX-Filter verwenden, können Sie auch in der Lage sein, ein href einfügen <= "http://java.sun.com/j2se/1.5.0/docs/api/org/xml/sax/ ext / LexicalHandler.html # startCDATA ()“rel = "nofollow noreferrer"> CDATA Ereignisse , nachdem Sie ein start~~POS=TRUNC für