Java中的标题文本问题

时间:2011-06-24 06:39:51

标签: java jtidy

我在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个索引。但在这里我得到问题: - 对于某些页面,标题文本出现在页面的中间或下面,所以这个代码不适用于这样的页面。这样,对于这样的条件,程序的长度越来越大。还有其他解决方案,它将从整个页面读取标题一气呵成?请帮帮我。

1 个答案:

答案 0 :(得分: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) {
    }  
}