Snowfun

导航

 

import java.io.BufferedInputStream;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.net.URL;

import org.w3c.tidy.Tidy;

public class HTML2XML {

     private String url;

     private String outFileName;

     private String errOutFileName;

     public HTML2XML(String url, String outFileName, String errOutFileName){

         this.url = url;//提供一個輸入的URL

         this.outFileName = outFileName;//輸出文件

         this.errOutFileName = errOutFileName;//錯誤文件

     }

     public static void main(String[] args){

             //參數:HTML文件的UTL,輸出文件和錯誤文件名

             System.out.println("程序開始運行……");

             HTML2XML t = new HTML2XML("http://hswebuat01/maximo/help.html",

                "c:\\temp\\html2xml.xml","c:\\temp\\err.txt");

             t.convert();

             System.out.println("程序運行結束……");

    }

     public void convert(){

         URL u;

         BufferedInputStream in;

         FileOutputStream out;

         Tidy tidy = new Tidy();

         tidy.setXmlOut(true);//告訴TidyHTML轉換成XML

         try{

               tidy.setErrout(new PrintWriter(new FileWriter(errOutFileName),true));//將錯誤信息保存到文件中

               u = new URL(url);

              

               in = new BufferedInputStream(u.openStream());//創建一個輸入輸出流

               out = new FileOutputStream(outFileName);

               tidy.parse(in, out);//轉換文件

               in.close();

               out.close();

             }catch(IOException e){

                    System.out.println(this.toString()+e.toString());

                 }

     }

}

 

 

 

 

/Files/Snowfun/Html2XML.zip

/Files/Snowfun/jtidy-r938.zip

要点:

(1)BufferedInputStream()的应用

(2)java扩展标准库org.w3c.tidy.Tidy的使用

(3)URL的使用

注意:

该程序中用到的org.w3c.tidy包在http://sourceforge.net/projects/jtidy/下载。解压后引用build文件夹中的tidy包就ok了。

 

posted on 2011-01-21 10:58  Snowfun  阅读(1140)  评论(0编辑  收藏  举报