top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
ちょっと HTML をプログラムで処理したくなる時がありますが、blancoHtmlParser はそのような場合に便利なライブラリです。
ここから blancoHtmlParser-0.1.8-src.zip を入手します。
blancocommons-1.1.3.jar
blancohtmlparser-0.1.8.jar
blancoxmlbinding-0.2.2.jar
※バージョン番号は適宜読み替えてください。
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);
}
}