Domanda

Qual è il modo più semplice in Java per recuperare tutti gli elementi con un certo tipo in una pagina HTML errato? Allora voglio fare qualcosa di simile:

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
}
È stato utile?

Soluzione

HtmlCleaner è senza dubbio uno dei migliori parser HTML là fuori quando si tratta di trattare con (un po ') HTML malformato.

La documentazione è qui con alcuni esempi di codice; sei fondamentalmente alla ricerca di metodo getElementsByName().

Date un'occhiata a Confronto di Java parser HTML se si sta valutando altre librerie.

Altri suggerimenti

Ho avuto successo utilizzando tagsoup . Heres una breve descrizione dalla loro home page:

  

Questa è la home page di TagSoup, un parser SAX-compliant scritto in Java che, invece di parsing ben formate o XML valido, analizza HTML come si trova in natura: povera, sgradevole e brutale, anche se molto spesso tutt'altro che breve. TagSoup è stato progettato per le persone che hanno a elaborare questa roba utilizzando una parvenza di un disegno razionale applicazione. Fornendo un'interfaccia SAX, permette strumenti XML standard, da applicare anche ai peggiori HTML. TagSoup include anche un processore da riga di comando che legge i file HTML e può generare sia HTML pulito o XML ben formato, che è una buona approssimazione a XHTML.

Jtidy .

  

JTidy è un porto di Java HTML Tidy, un   controllo della sintassi HTML e abbastanza   stampante. Come il suo non-Java cugino,   JTidy può essere utilizzato come strumento per   pulizia HTML errato e difettoso.   Inoltre, JTidy fornisce un DOM   interfaccia per il documento che è   in lavorazione, che efficacemente   ti rende in grado di utilizzare JTidy come DOM   parser per HTML del mondo reale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top