Проблема с текстом заголовка в Java - PullRequest
1 голос
/ 24 июня 2011

Я использовал анализатор Jtidy в java для извлечения текста заголовка.

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 голосов
/ 24 июня 2011

Я предлагаю вам сделать это так:

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