1

Java で Jtidy パーサーを使用して、タイトル テキストを取得しました。

String titleText=null;
try {
    titleText = doc.getElementsByTagName("title").item(0)
            .getFirstChild().getNodeValue();
} catch (Exception e1) {
    try {
        titleText = doc.getElementsByTagName("title").item(1)
                .getFirstChild().getNodeValue(); 
    } catch (Exception e2) {
        try {
            titleText = doc.getElementsByTagName("title").item(2)
                    .getFirstChild().getNodeValue();
       } cathc (...)
    }
}

上記のコードは正常に動作しています。0 番目のインデックスでタイトルを読み取り、見つからない場合は 1 番目のインデックスで、次に 2 番目のインデックスで読み取ります。ページの中央またはそれより下にあるため、このコードはそのようなページでは機能しません.このように、このような条件では、プログラムの長さが長くなります.ページ全体からタイトルを一度に読み取る他の解決策はありますか?。私を助けてください。

4

1 に答える 1

0

次のようにすることをお勧めします。

String titleText=null;

NodeList titles = doc.getElementsByTagName("title");

for (int i = 0; titleText == null && i < titles.getLength(); i++) {
    try {
        titleText = doc.item(i).getFirstChild().getNodeValue();
    } catch (SomeException e) {
    }  
}
于 2011-06-24T06:47:56.447 に答える