私はJsoupの大ファンです。私は最近それを使い始めたばかりで、その驚くべきものです。疫病のようなSAXを避けたかったので、パターンマッチングを行うためにいくつかの超毛深い正規表現パターンを書いていました...そしてそれはあなたが想像できるようにかなり退屈でした。Jsoupを使用すると、わずか数行のコードで<table>から特定の項目を解析できます。
<tr class=...>がGridItemまたはGridAltItemであるテーブルの最初の7行を取得するとします。次に、1列目、2列目、3列目をテキストとして印刷し、次にその行に表示される最初の<ahref>リンクを印刷するとします。間抜けに聞こえますが、私はこれをしなければならず、これを簡単に行うことができます:
String page = "... some html markup fetched from somewhere ...";
Document doc = Jsoup.parse(page);
for(int x=0; x< 7; x++) {
Element gridItem = doc.select("tr[class$=Item]").select("tr").get(x);
System.out.println("row: " + gridItem.select("td").get(0).text() + " " + gridItem.select("td").get(1).text() + " " + gridItem.select("td").get(4).text() + " " + gridItem.select("a").get(0).attr("href"));
}
Jsoupを使えばとても簡単です。Jsoup jarファイルをライブラリとしてプロジェクトに追加し、必要なクラスをインポートしてください。間違ったDocumentまたはElementクラスをインポートしたくない...
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
Enjoy!