2010-10-11 29 views
8

Estoy haciendo un proyecto en el que necesito leer un archivo HTML e identificar etiquetas específicas, modificar el contenido de la etiqueta y crear un nuevo archivo HTML. ¿Hay una biblioteca que analiza las etiquetas HTML y puede volver a escribir las etiquetas en un nuevo archivo?Cómo analizar y modificar un archivo HTML en Java

Respuesta

2


si desea modificar la página web y devolver el contenido modificado, creo que la mejor manera es usar la transformación XSL.
http://en.wikipedia.org/wiki/XSLT

+0

Supongo que esto era lo que estaba esperando. Necesito generar informes y presentarlos en el formato que el usuario desea que se presenten. – chai

+1

Actualmente estoy usando el procesador Xalan y el código funciona muy bien. Aquí está el enlace para el procesador http://xml.apache.org/xalan-j/ – chai

0

Mire http://java-source.net/open-source/html-parsers para obtener una lista de las bibliotecas de java que analizan los archivos html en objetos java que se pueden manipular.

Si los archivos html con los que está trabajando están bien formados (xhtml), entonces también puede usar las bibliotecas XML en java para buscar etiquetas específicas y modificarlas. El IO en sí debe ser manejado por las bibliotecas particulares que está utilizando.

Si elige analizar manualmente las cadenas, podría usar expresiones regulares para buscar etiquetas específicas y usar las bibliotecas de Java para escribir en los archivos y crear nuevos documentos html. Pero este método reinventa la rueda, por así decirlo, porque tiene que administrar la apertura y el cierre de etiquetas, y todas esas cosas son manejadas por bibliotecas preexistentes.

2

Hay demasiados analizadores de HTML. Puede usar JTidy, NekoHTML o marcar TagSoup.

Por lo general, prefiero analizar XHTML con los analizadores Java XML estándar, pero no puede hacer esto con ningún tipo de HTML.

+0

Utilicé tanto JTidy como Nekohtml; ambas son bastante buenas. –

6

Salida http://jsoup.org, tiene una API DOM-como amigos, para tareas sencillas que no es necesario para analizar el html.

Cuestiones relacionadas