java - Java 中标题文本的问题

标签 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 个索引处读取标题。但是这里我遇到了问题:-对于某些页面,标题文本出现在页面中间或下方,因此此代码不适用于此类页面。这样,对于这种情况,程序的长度会增加。是否有任何其他解决方案,将从整个页面读取标题一口气吗?请帮助我。

最佳答案

我建议你这样做:

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) {
    }  
}

关于java - Java 中标题文本的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6464302/

相关文章:

java - 如何从java中的任何网页获取标题文本

java - 如何在java中单击图像打开特定链接?

java - jTidy - 漂亮的 headless 打印,标题标签

java - 使用 Spring 和 Hibernate 创建新项目

java - 我可以配置 JTidy 来忽略某些错误和警告吗?

java - 迭代值时的 HashMap 线程安全

Java:在 headless (headless)服务器上运行 Applet

java - 如何设置 Tidy 配置不替换 <br> 标签?

java - 如何从原始 JAR 中查找开源 JAR 中的更改

Java哈希表