2015-04-08 3 views
-1

У меня возникают проблемы при анализе определенного класса div.Выберите конкретный класс div в Jsoup

<div class="box_3 box_3a"> 

    <div class="title_new_2"></div> 

    <div class="list_indeks_2"></div> 

</div> 

Я попытался выбрать <div class="list_indeks_2"></div> с jsoup следующим образом:

links = doc.select(".list_indeks_2") 

Однако этот код не работает, потому что класс div «s содержит символы подчеркивания (_). Как обрабатывать символ подчеркивания (_) в методе jsoup select?

+3

* «но этот код не работает, потому что класс DIV имеет _. Как обрабатывать _ в jsoup выбрать?» * Что делает Вы думаете, что '_ 'является проблемой? Это совершенно правильный символ имени класса CSS. –

+0

Я просто предсказываю ошибку, потому что, когда я использую класс без _ моего кода работает хорошо, но когда я использую класс с _ мой код не может извлечь. у вас есть предложение извлечь

? – Matrixwira

+0

Ну, я просто попробовал, и ваш код работает нормально. Проблема кроется в другом месте. –

ответ

1

Попробуйте получить доступ к элементу, основанному на атрибуте.

Отрывок был протестирован с версией JSoup версии 1.8.1.

Document doc = Jsoup.parse(
     "<div class=\"box_3 box_3a\">\n" 
     + " <div class=\"title_new_2\">some title</div>\n" 
     + " <div class=\"list_indeks_2\">some index</div>\n" 
     + "</div>"); 
Elements rows = doc.getElementsByAttributeValue("class", "list_indeks_2"); 
System.out.println("rows.size() = " + rows.size()); 
String index = ""; 
for (Element span : rows) { 
    index = span.text(); 
} 
System.out.println("index = " + index); 

это производит в качестве выходного сигнала

rows.size() = 1 
index = some index 
+2

Может ли нижестоящий предоставить объяснение? –

+0

Спасибо за ваш ответ. Однако ваш код по-прежнему не может извлечь класс. Я предсказываю свою проблему в символе _, потому что, когда я использую класс без моего кода, он работает хорошо. 'Элементы links = doc.getElementsByAttributeValue (" class "," list_indeks_2 "); System.out.println (links.size()); 'я получил links.size() еще 0, значение не должно 0, если мой код работает хорошо. – Matrixwira

+0

@wiratama Я обновил свой фрагмент. Я не могу догадаться, почему ваш 'link.size()', как в фрагменте, возвращает '1'. Отправьте свой код, который терпит неудачу, чтобы мы могли присмотреться. – SubOptimal

Смежные вопросы