blancoHtmlParser の使い方
ちょっと HTML をプログラムで処理したくなる時がありますが、blancoHtmlParser はそのような場合に便利なライブラリです。
入手元(ダウンロードサイト)
ここから blancoHtmlParser-0.1.8-src.zip を入手します。
実行に必要なライブラリ
blancocommons-1.1.3.jar blancohtmlparser-0.1.8.jar blancoxmlbinding-0.2.2.jar
※バージョン番号は適宜読み替えてください。
HTML を読み込む簡単サンプル
import java.io.File; import java.io.IOException; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import blanco.commons.util.BlancoFileUtil; import blanco.html.parser.BlancoHtmlParser; import blanco.html.parser.BlancoHtmlParserFactory; import blanco.html.parser.util.BlancoHtmlParserUtil; public class SimpleHtmlRead { public static void main(String[] args) throws IOException, SAXException { final File file = new File("./sample.htm"); final byte[] fileContent = BlancoFileUtil.file2Bytes(file); final String encoding = BlancoHtmlParserUtil.decideEncoding(fileContent); final BlancoHtmlParser parser = BlancoHtmlParserFactory.getInstance(); parser.setEncoding(encoding); parser.setHandler(new DefaultHandler() { @Override public void startElement(final String uri, final String localName, final String name, final Attributes atts) throws SAXException { System.out.println("タグ開始: " + localName); } @Override public void endElement(final String uri, final String localName, final String name) throws SAXException { System.out.println("タグ終了: " + localName); } @Override public void characters(final char[] ch, final int start, final int length) throws SAXException { System.out.print(new String(ch, start, length)); } }); parser.parse(fileContent); } }