笨鸟先飞

在正确的道路上,即使慢走,也会到达目的地。

java分析html文档的例子

 这个程序把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&amp;&amp;POI笔记
想对作者说点什么? 我来说一句

基于java的word转html

2017年07月27日 280KB 下载

javahtml文件生成word文件

2017年07月28日 6.19MB 下载

没有更多推荐了,返回首页

不良信息举报

java分析html文档的例子

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭