Frage

Was ist der einfachste Weg, in Java alle Elemente mit einer bestimmten Art in einer fehlerhaften HTML-Seite abgerufen werden? Deshalb möchte ich, so etwas tun:

public static void main(String[] args) {
    // Read in an HTML file from disk
    // Retrieve all INPUT elements regardless of whether the HTML is well-formed
    // Loop through all elements and retrieve their ids if they exist for the element
}
War es hilfreich?

Lösung

HtmlCleaner ist wohl eines der besten HTML-Parser gibt, wenn es darum geht, mit (etwas) zu tun haben ungültiges HTML.

Die Dokumentation ist hier mit einigen Codebeispielen; Sie sind im Grunde für getElementsByName() Methode suchen.

Hier finden Sie aktuelle Vergleich von Java HTML-Parser , wenn Sie andere Bibliotheken erwägen.

Andere Tipps

Ich habe mit Erfolg hatte tagsoup . Heres eine kurze Beschreibung von ihrer Homepage:

  

Dies ist die Homepage von tagsoup, ein SAX-konformen Parsern in Java geschrieben, dass anstelle von Parsen wohlgeformt oder gültige XML, HTML analysiert, wie es in der freien Natur zu finden ist: schlecht, böse und brutal, aber recht häufig weit davon entfernt kurz. Tagsoup ist für Leute, die haben das Zeug zu verarbeiten, einen Anschein einer rationalen Anwendung Design. Durch einen SAX-Schnittstelle bereitstellt, ermöglicht es Standard-XML-Tools sogar das Schlimmste HTML angewandt werden. Tagsoup enthält auch eine Befehlszeilenprozessor, die HTML-Dateien liest und kann entweder sauber HTML oder wohlgeformten XML erzeugen, die eine enge Annäherung an XHTML ist.

Überprüfen Sie jtidy .

  

jtidy ist ein Java-Port von HTML Tidy, ein   HTML-Syntax-Checker und ziemlich   Drucker. Wie sein Nicht-Java Cousin,   Jtidy kann als Werkzeug verwendet werden für   Reinigung fehlerhafte und fehlerhafte HTML.   Darüber hinaus bietet jtidy einen DOM   Schnittstelle zu dem Dokument, das ist   das verarbeitet wird, die effektiv   macht Sie in der Lage jtidy als DOM zu verwenden   Parser für reale HTML.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top