使用NodeVisitor访问HTML页面的TAG

原创 2007年09月16日 21:17:00
     上次所说的使用Filter同时访问formtag和linktag是不行的,实际上有这样一种东西,可以访问任意tag--------Nodevisitor。下边这个程序是DOC上边的,我只是改了下,使得可以符合我的需要,访问linktag和formtag:
 import org.htmlparser.Parser;
 import org.htmlparser.Tag;
 import org.htmlparser.tags.LinkTag;
 import org.htmlparser.tags.FormTag;
 import org.htmlparser.Text;
 import org.htmlparser.util.ParserException;
 import org.htmlparser.visitors.NodeVisitor;
 
 public class MyVisitor extends NodeVisitor
 {
     public MyVisitor ()
     {
     }

     public void visitTag (Tag tag)
     {
         if (tag instanceof LinkTag)
         {
             System.out.println("a ->" + ((LinkTag)tag).extractLink());
         }
         else if (tag instanceof FormTag)
         {
             System.out.println("form ->" + ((FormTag)tag).extractFormLocn());
         }
     }

     public static void main (String[] args) throws ParserException
     {
         Parser parser = new Parser (args[0]);
         parser.setEncoding("GB2312");
         NodeVisitor visitor = new MyVisitor ();
         parser.visitAllNodesWith (visitor);
     }
 }

解析器会自动地调用visitTag方法,对每个tag进行判断,对需要的进行必要的操作。
好东西吧,再研究更有意义点的操作,由他发散就行了。

Node与NodeVisitor

osg::ref_ptr model; NodeVisitor vv( TRAVERSE_ALL_CHILDREN);   model->accept( vv); 假设model的模型结构如图...
  • tmljs1988
  • tmljs1988
  • 2013年04月07日 22:47
  • 14089

NodeVisitor

OSG中节点的访问使用的是一种访问器模式。 一个典型的访问器涉及抽象访问者角色(Visitor), 具体访问者(Concrete Visitor), 节点角色(Node)。OSG中访问者角色为Nod...
  • u013447988
  • u013447988
  • 2017年07月26日 23:09
  • 103

OSG 节点访问器(NodeVisitor)

OSG 节点访问器(NodeVisitor) 前言:学习OSG还有点痛苦,大概是对于新东西学起来都是痛苦的吧! osg::NodeVisitor 类: ※ Nod...
  • MissXy_
  • MissXy_
  • 2017年10月17日 20:56
  • 127

OSG节点访问、更新和回调

OSG中节点的访问使用的是一种访问器模式。   一个典型的访问器涉及抽象访问者角色(Visitor), 具体访问者(Concrete Visitor), 节点角色(Node)。   OSG...
  • wang15061955806
  • wang15061955806
  • 2015年10月19日 13:07
  • 2307

怎么阻止直接输入地址访问 html 页面

step 1. Java中应用Filter对权限和Session控制 代码如下: package com.drp.util.filter; import java.io.IOException; ...
  • bigtree_3721
  • bigtree_3721
  • 2016年05月10日 17:18
  • 2181

Spring MVC前台使用html页面作为视图,配置静态资源后Controller控制器不起作用的解决办法

1.Spring MVC搭建项目的时候,想使用html页面作为前端的视图,你会发现html页面不能访问,原因是由于Spring拦截器将其拦截寻找控制器的缘故,解决办法就是配置静态资源: 1 2 ...
  • qq_34531925
  • qq_34531925
  • 2017年06月29日 14:51
  • 1715

如何使用Fiddler实现跨域访问(把自己做的静态HTML页面域名变成api.bing.com)

如何使用Fiddler实现跨域访问(把自己做的静态HTML页面域名变成api.bing.com)
  • Shsgear
  • Shsgear
  • 2016年10月18日 09:17
  • 3291

使用html页面实现简单的算法并通过百度网盘实现访问

首先这篇博客主要是个思路,因为实现的方式有很多。 1.先讲下需求,这个需求本人经历,是这样的:假设有本金100000,每天返现千一同时本金减少返现的金额,那么多长时间会回本呢?拿出计算机一条一条计算效...
  • FU250
  • FU250
  • 2018年01月04日 11:16
  • 83

使用java-jsoup解析html页面内容,爬取想要的信息(如号段)

  • 2014年03月04日 10:15
  • 266KB
  • 下载

通过SpringBoot访问HTML页面源码

  • 2017年10月25日 11:42
  • 75KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用NodeVisitor访问HTML页面的TAG
举报原因:
原因补充:

(最多只允许输入30个字)