2012年1月21日土曜日

HTMLEditorKit 基本情報

一行ずつ処理するのに便利

http://java.sun.com/j2se/1.3/ja/docs/ja/api/javax/swing/text/html/HTMLEditorKit.html


クラス HTMLEditorKit.ParserCallback
handleStartTag  は、開始タグと終了タグを持つタグを取得する。
handleEndTag   は、開始タグと終了タグを持つタグを取得する。
handleSimpleTag は、終了タグを持たないタグを取得する。
handleText    は、HTMLの文字列の取得・処理を行います。
handleComment  は、コメントを取得する。
handleEndOfLineString は、ストリームの末尾を取得する。
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.text.html.parser.ParserDelegator;
import java.io.*;

public class HtmlParser{

 public static void main(String[] args){
  HtmlParser p = new HtmlParser();
  p.exec();
 }

 public void exec() {
  Reader reader;
  try {

   FileInputStream is = new FileInputStream("E:/html/text.html");
   InputStreamReader in = new InputStreamReader(is, "SJIS");

   reader = new BufferedReader(in);

   MyParserCallback cb = new MyParserCallback();
   ParserDelegator pd = new ParserDelegator();
   pd.parse(reader, cb, true);
   reader.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 class MyParserCallback extends HTMLEditorKit.ParserCallback {
  public void handleStartTag(HTML.Tag tag, MutableAttributeSet attr, int pos){
   System.out.println("スタートタグが呼ばれました");

  }
  public void handleText(char[] data, int pos) {
   System.out.println( new String(data) );
        }

  public void handleSimpleTag(HTML.Tag tag, MutableAttributeSet attr,int pos) {
   System.out.println("--------------  終了タグを持たないタグが呼ばれました");
  }
 }

}

0 件のコメント:

コメントを投稿