2008-10-21 8 views
4

J'essaye de faire l'analyse DOM XHTML avec JTidy, et cela semble être une tâche plutôt contre-intuitive. En particulier, il y a une méthode pour analyser HTML:JTidy Node.findBody() - Comment utiliser?

Node Tidy.parse(Reader, Writer) 

Et pour obtenir le corps </> de ce nœud, je suppose, je devrais utiliser

Node Node.findBody(TagTable) 

Où dois-je obtenir une instance de cette TagTable? (Le constructeur est protégé et je n'ai pas trouvé d'usine pour le produire.)

J'utilise JTidy 8.0-SNAPSHOT.

Répondre

6

J'ai trouvé il y a beaucoup méthode plus simple pour extraire le corps:

 
tidy = new Tidy(); 
tidy.setXHTML(true); 
tidy.setPrintBodyOnly(true); 

Et puis utilisez rangé sur la paire Reader-Writer.

Simple comme il se doit.

3

Vous pouvez utiliser la place méthode parseDOM, qui vous donnera un org.w3c.dom.Document retour:

Document document = Tidy.parseDOM(reader, writer); 
Node body = document.getElementsByTagName("body").item(0);