欢迎来到天天文库
浏览记录
ID:6031973
大小:55.50 KB
页数:6页
时间:2017-12-31
《jtidy的使用和配置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、http://technicolor.javaeye.com/blog/7303372010-08-05htmltoxml:Jtidy的使用及注意事项(jtidy-r938)文章分类:Java编程最近在做一个项目,要把html转换为格式规范的xml(不受DTD约束),然后再用dom4j进行分析,于是就去找htmltoxml的工具。发现有两款,一个是NekoHTML,一个是Jtidy。因为貌似Jtidy比较符合我的需求,于是我就下载了Jtidy(jtidy-r938,2009-12-01,新版本的)。JTidy是HTMLTidy(一个HTML语法检查器和优
2、雅的打印编排工具)的Java移植,除了本身具有的清除HTML文件难看或错误内容的功能外,还提供了一个DOM接口,程序员可以将JTidy当作一个处理HTML文件的DOM解析器来使用。而且它有很多参数可以设置,可以定制出符合用户要求的规范的XML文档格式。网上所有的帖子、教程都是讲的内容都差不多的(就两三篇在COPY),感觉参考价值不大,而且还是讲2001年那个版本,让我很汗,不过它上一次的更新的确是2001年的(这也得怪他的开发团队更新的慢~)。下面我就简单的说说jtidy的使用,及一些我注意到的细节吧。Jtidy的使用非常简单,所有的功能都是通过一个类来
3、完成的,即org.w3c.tidy.Tidy。Tidy类用于将html转换为xml的方法有3种,每种方法对输入输出参数都有多种重载,使用方法大同小异:Nodeparse(java.io.InputStreamin,java.io.OutputStreamout)ReadsfromthegiveninputandreturnstherootNode.org.w3c.dom.DocumentparseDOM(java.io.InputStreamin,java.io.OutputStreamout)ParsesInputStreaminandreturnsa
4、DOMDocumentnode.voidpprint(org.w3c.dom.Nodenode,java.io.OutputStreamout)Pretty-printsaDOMNode.parseDOM()是直接调用parse()的,pprint()是用于输出org.w3c.dom.Node或者org.w3c.dom.Document对象的,所以一般直接调用parse()就够了。Jtidy使用非常简单,下面我就展示个最简单的例子:Java代码1.import java.io.FileInp
5、utStream; 2.import java.io.FileOutputStream; 3.import java.io.PrintWriter; 4.import org.w3c.tidy.Tidy; 5. 6.public class Test { 7. 8. public static void main(String[] args) throws Exception { 9. 10. Tidy tidy = new Tidy(); //使用Jtidy几乎只需要用的这一个类 11. //设置jtidy
6、的配置文件,当然你也可以在程序根据需要中设置 12. tidy.setConfigurationFromFile("config.txt"); 13. tidy.setErrout(new PrintWriter("error.txt")); //输出错误与警告信息,默认输出到stdout 14. //需要转换的文件,当然你也可以转换URL的内容 15. FileInputStream in = new FileInputStream("original.htm"); 16. FileOutp
7、utStream out = new FileOutputStream("out.html"); //输出的文件 17. tidy.parse(in, out); //开始转换了~~~Jtidy把所有东西都封装好了,哈哈~~ 18. out.close(); //转换完成关闭输入输出流 19. in.close(); 1. } 2.} 3. importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.i
8、o.PrintWriter;importorg.w3c.tidy.Tidy;pu
此文档下载收益归作者所有