2010-10-11 16 views
8

Sto facendo un progetto in cui ho bisogno di leggere un file HTML e identificare tag specifici, modificare il contenuto del tag e creare un nuovo file HTML. Esiste una libreria che analizza i tag HTML ed è in grado di scrivere i tag in un nuovo file?Come analizzare e modificare il file HTML in Java

risposta

2


se si desidera modificare la pagina Web e restituire il contenuto modificato, il modo migliore è utilizzare la trasformazione XSL.
http://en.wikipedia.org/wiki/XSLT

+0

Immagino che questo fosse quello che non vedevo l'ora. Devo generare rapporti e presentarlo nel formato che l'utente vorrebbe che fosse presentato. – chai

+1

Attualmente sto utilizzando il processore Xalan e il codice funziona perfettamente. Ecco il link per il processore http://xml.apache.org/xalan-j/ – chai

0

Vedere http://java-source.net/open-source/html-parsers per un elenco di librerie java che analizzano i file html in oggetti java che possono essere modificati.

Se i file html con cui si sta lavorando sono ben formati (xhtml), è possibile utilizzare anche librerie XML in java per trovare tag specifici e modificarli. L'IO stesso dovrebbe essere gestito dalle librerie particolari che stai utilizzando.

Se si sceglie di analizzare manualmente le stringhe, è possibile utilizzare le espressioni regolari per trovare tag specifici e utilizzare le librerie java io per scrivere nei file e creare nuovi documenti html. Ma questo metodo reinventa la ruota per così dire perché devi gestire l'apertura e la chiusura dei tag e tutte queste cose sono gestite da librerie preesistenti.

2

Ci sono troppi parser HTML. È possibile utilizzare JTidy, NekoHTML o selezionare TagSoup.

Di solito preferisco analizzare l'XHTML con i parser XML XML standard, ma non è possibile farlo per qualsiasi tipo di HTML.

+0

Ho usato sia JTidy che Nekohtml - entrambi sono abbastanza buoni. –

6

Partenza http://jsoup.org, ha un dom-come API amichevole, per compiti semplici non è necessario per analizzare il codice HTML.