一気に取得できるようなAPIはありませんが、
自分で作るとなったときに便利なものはあります。
javax.swing.text.html.parser.ParserDelegatorと、
javax.swing.text.html.HTMLEditorKit.ParserCallback
を使うと、HTMLタグの解釈は楽だと思います。
(substringで部分文字列を切り取るようなことは不要です。)
ちょっと長くて申し訳ないですが、サンプルです。
実際に動かして試してみてください。
----------------------------------------
import java.io.*;
import javax.swing.text.MutableAttributeSet;
import javax.swing.text.html.parser.ParserDelegator;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTML;
public class ParserTest{
/**
* 引数でHTMLファイルを指定
*/
public static void main(String[] args) throws IOException, FileNotFoundException{
new ParserTest(args[0]);
}
public ParserTest(String file)throws IOException, FileNotFoundException{
ParserDelegator parser = new ParserDelegator();
HTMLEditorKit.ParserCallback mycallback = new MyCallBack();
parser.parse(new FileReader(file), mycallback, true);
}
private static class MyCallBack extends HTMLEditorKit.ParserCallback{
boolean td = false;
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos){
if (t.equals(HTML.Tag.TD)){
td = true;
}
}
public void handleText(char[] data, int pos){
if (td){
System.out.println(new String(data));
}
}
public void handleEndTag(HTML.Tag t, int pos){
if (t.equals(HTML.Tag.TD)){
td = false;
}
}
}
}
お礼
大変参考になりました。 ありがとうございました!!! まだまだ勉強不足です・・・。