2013-04-28 2 views

ответ

1

Да, в дополнение к прямым методам DOM-навигации (getChildren() и т. Д.) Есть также гораздо более мощный способ - Селектор. Это механизм для CSS-подобной фильтрации элементов, соответствующих строке запроса. Вы также можете применить запрос к данному узлу ко всему документу.

Например:

Document doc; 
String query = "body table.mainouter tr:eq(1) img[src$=.png]"; 
Elements tags = doc.select(query); 
if (!tags.isEmpty()) 
{ 
    Element tagImg = tags.first(); 
    String srcImg = tagImg.attr("src"); 
} 

Это означает «Дайте мне первый элемент PNG изображения в первом TR внутри ТАБЛИЦЫ класса mainouter». Обратите внимание, что запрос не является уникальным адресом, но если вы его сузите и добавите достаточные критерии для запроса, он практически станет уникальным путем. Таким образом, он возвращает коллекцию только из 1 элемента. Самое приятное, что вам не нужно добавлять все элементы пути, только те, которые устраняют неоднозначность результатов (уменьшая результаты до именно того, что вы ищете).

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