最近要从网页中提取信息,想先把html转换成标准的xml格式,然后方便使用dom4j进行后续的分析,试用了不少现成的类库,JTidy、NekoHTML、HTML Parser、Jericho,最后还是使用了JTidy。
只是r8 snapshot还只是一个nightly builds,前面的r7版更已经是4年前的事了,这个项目就这样荒废了?可能是参与的人太少又或者是觉得已经成熟?
JTidy提供了一个语法检查器和标签补偿器,能够对各种乱七八糟的html进行修复,使之符合xhtml标准。
r8 snapshot相对于r7改变了一些参数的设置方法,特别是在字符编码处理上,用setInputEncoding和setOutputEncoding方法来确定输入和输出文件的字符编码,可以使用任何有效的Java编码名称,这就比以前的强多了。
总体上解析的结果还不错,只是有些地方还需要对生成文件进行手工调整,或者自己再编一段代码处理一下,已经不是大问题了。
一些常用的参数设置:
setAltText(java.lang.String altText)
加上默认的alt属性值
setBreakBeforeBR(boolean breakBeforeBR)
在换行<br />之前加一空行
setCharEncoding(int charencoding)
已废弃
setConfigurationFromFile(java.lang.String filename)
从文件中读取配置信息
setConfigurationFromProps(java.util.Properties prop