java分析html文档的例子

原创 2007年09月20日 17:26:00

 这个程序把xml文档中的内容提取出来。里面的包都是jdk自带的包。

  import   java.io.*;  
  import   java.util.*;  
  import   javax.swing.text.*;  
  import   javax.swing.text.html.*;  
  import   javax.swing.text.html.parser.*;
  import   javax.swing.text.html.HTMLEditorKit.ParserCallback;

public class Parser extends ParserCallback
{
 protected String base;
 protected boolean isImg = false;
 protected boolean isParagraph = false;
 protected static Vector<String> element = new Vector<String>();
  protected static String paragraphText = new String();  

 public Parser()
 {
 
 }
 
 public static String getParagraphText()
 {
   return paragraphText;
 }
 public void handleComment(char[] data, int pos)
 {
 }
public void handleEndTag(HTML.Tag t, int pos)
{
   if (t == HTML.Tag.P)
   {
   if (isParagraph)
   {
    isParagraph = false;
   }
  } else if (t == HTML.Tag.IMG)
  {
   if (isImg){
    isImg = false;
   }

  }
 }
 public void handleError(String errorMsg, int pos)
 {
 }
 public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
 {
  handleStartTag(t, a, pos);
 }
 public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
 {
  if (t == HTML.Tag.P)
  {
   isParagraph = true;
  }else if((t == HTML.Tag.IMG))
   {
  String   src=   (String)a.getAttribute(HTML.Attribute.SRC); 
   if (src != null)
   {
  
     element.addElement(src);
     isImg = true;
   }
   } 
 }
 public void handleText(char[] data, int pos)
 {
 
  if (isParagraph)
  {
   String tempParagraphText = new String(data);
   if (paragraphText != null)
   {
    element.addElement(tempParagraphText);;
 
   }
  }
  }

 
    private   static  void   startParse(String   sHtml){  
                  try{  
                          ParserDelegator   ps   =   new   ParserDelegator();  
                          HTMLEditorKit.ParserCallback   parser   =   new   Parser();  
                          ps.parse(   new   StringReader(sHtml),   parser,   true);
                                 
        System.out.println(getParagraphText());
        Vector link = element;
        for(int i=0;i<link.size();i++)
        {
         System.out.println(link.get(i));
         }
       
                  }catch(Exception   e){  
                          e.printStackTrace();  
                  }  
          }  
 

 public   static   void   main(String   args[]){  
             
   
                  try{  
                          String   filename   ="f://1.htm";  
                          BufferedReader   brd   =new   BufferedReader(new   FileReader(filename));  
                          char[]   str   =   new   char[50000];  
                          brd.read(str);  
                          String   sHtml   =   new   String(   str   );  
   
                          startParse(   sHtml   );  
                  }catch(Exception   e){  
                          e.printStackTrace();  
                  }  
          }  
   
     }

java小例子:使用javadoc工具生成API文档

Javadoc命令可对源文件、包生成API文档,javadoc命令的基本用法如下: javadoc  选项 Java源文件/包 javadoc的常用选项有一下几个: -d:该选项指定一个路径,用...
  • Monarch_lin
  • Monarch_lin
  • 2013年03月14日 17:28
  • 1822

用Java程序把Word转换成Html文件

Jacob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。如果你的JDK是1.4,那你需要下载Jacob1.9的jni库才能正常运行,早期版本在JDK1.4下有些...
  • u010779013
  • u010779013
  • 2015年04月09日 16:02
  • 1551

java将html导出成word(利用的poi包导出)

//导出到word public void exportWord(ActionMapping actionMapping, ActionForm actionForm, HttpServlet...
  • myfmyfmyfmyf
  • myfmyfmyfmyf
  • 2014年05月12日 17:08
  • 21520

JAVA 文档注释,类的说明,HTML说明文档的生成

有的时候,我们会写一些类,编译成.class文件,给别人使用,那么,别人不知道这个类有哪些方法,如何调用。 所以我们需要做一个类的说明文档。 可以采用在.java类里面进行注释,通过注释来...
  • wangcunhuazi
  • wangcunhuazi
  • 2015年06月05日 16:05
  • 656

需求分析--我的第一个java-web项目之路(一)

需求分析(-:引用的定义:-) 所谓”需求分析“,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么. 需求分析是一个项目的开始,主要是弄明白这个...
  • timo1160139211
  • timo1160139211
  • 2017年06月16日 20:36
  • 1356

java html内容生成word文件实现代码

处理HTML标签我用的是Jsoup组件,生成word文档这方面我用的是Jacob组件。有兴趣的朋友可以去Google搜索一下这两个组件。大致思路如下: 先利用jsoup将得到的html代码“...
  • lcczzu
  • lcczzu
  • 2015年07月13日 14:43
  • 2550

java将html导出成word

java将html导出word增加换行符   mso-fareast-font-family:宋体;mso-font-kerning:1.0pt;mso-ansi-language:EN-US; m...
  • myfmyfmyfmyf
  • myfmyfmyfmyf
  • 2014年05月12日 16:49
  • 10429

java word文件转html (转换后可在线预览)

import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.F...
  • xukangkang1hao
  • xukangkang1hao
  • 2016年11月15日 09:44
  • 5387

需求分析文档模板

目 录 1. 引言 1 1.1. 背景 1 1.2. 参考资料 1 1.3. 假定和约束 1 1.4. 用户的特点 1 2. 功能需求 1 2.1. 系统范围 1 2.2. 系统体系结...
  • zhang527836447
  • zhang527836447
  • 2013年09月04日 22:41
  • 5854

java applet 一个简单的例子(applet+html)

java applet是一个类,其层次结构如下图:  类 JApplet  java.lang.Object    java.awt.Component        java.awt.Con...
  • caomiao2006
  • caomiao2006
  • 2013年12月24日 21:02
  • 16921
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java分析html文档的例子
举报原因:
原因补充:

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