关于HtmlParser提取标签不完整的问题(HtmlParser扩展)

来源:互联网 发布:js 定时执行一次 编辑:程序博客网 时间:2024/05/22 07:45

HtmlParser可用来解析html,但它并不认识所有标签,如font,strong和自定义标签...而遇到它不认识的标签时提取出来的内容只会是这个标签的开始标签.

例如有段Html是<strong>加粗字体</strong> ,如果用NodeList nodeList = parser.parser(new TagNameFilter("strong"));提取的话结果就是<strong> .如果想让提取结果是完整的<strong>加粗字体</strong>,则要扩展HtmlParser,让它认识这个标签,方法是自定义一个类继承自HtmlParser,然后利用PrototypicalNodeFactory在静态代码块中注册新的标签.当然,新的标签类是事先写好的,代码如下:

 

扩展的新标签类如下:

 

 

在需要创建HtmlParser对象时只需创建MyParser对象即可.

另附

htmlparser.jar: http://download.csdn.net/source/3099671

htmllexer.jar:http://download.csdn.net/source/3099676

原创粉丝点击