2009-09-16 10 views
1

Est-il possible et quels outils pourraient être utilisés pour analyser un document html en tant que chaîne ou à partir d'un fichier, puis de construire un arbre DOM pour qu'un développeur puisse marcher l'arbre à travers une API.Possibilité d'analyser un document HTML et de construire un arbre DOM (java)

Par exemple:

DomRoot = parse("myhtml.html"); 

for (tags : DomRoot) { 
} 

Note: Ceci est un document HTML non XHtml.

+0

s'il vous plaît inclure « l'analyse syntaxique » comme une étiquette trop – JuanZe

Répondre

1

Vous pouvez jeter un oeil à NekoHTML, une bibliothèque Java qui effectue un nettoyage et un équilibrage des balises dans votre document. C'est un moyen facile d'analyser un fichier HTML malformé (ou un fichier XML non valide).

Il est distribué sous la licence Apache 2.0.

0

HTML Parser semble prendre en charge la conversion de HTML en XML. Ensuite, vous pouvez construire un arbre DOM en utilisant la chaîne d'outils Java habituelle.

2

JTidy devrait vous permettre de faire ce que vous voulez.

L'utilisation est assez simple, mais l'analyse est configurable. .: par exemple

InputStream in = ...; 
Tidy tidy = new Tidy(); 
// configure Tidy instance as required 
... 
... 
Document doc = tidy.parseDOM(in, null); 
Element root = doc.getDocumentElement(); 

Le JavaDoc est hébergé here.

4

Vous pouvez utiliser TagSoup - il s'agit d'un analyseur compatible SAX qui peut nettoyer le contenu mal formé tel que le HTML des pages Web génériques en XML bien formé.

This is <B>bold, <I>bold italic, </b>italic, </i>normal text 

gets correctly rewritten as: 

This is <b>bold, <i>bold italic, </i></b><i>italic, </i>normal text. 
+1

TagSoup est très bon, surtout si vous devez analyser merdiques HTML –

Questions connexes