2016-01-06 2 views
1

У меня есть части HTML для синтаксического анализа:Как совместить атрибуты в селекторе jsoup

<a href="/res/" class="postbtn-reply-href" name="112309691"></a> 
<blockquote id="m112309691" class="post-message"> text </blockquote> 

Как я могу сделать это с различными атрибутами?

  • для <a> attribut является [ "имя"]
  • для <blockquote> это текст()

что-то вроде:

Elements elements = doc.select("a [class=postbtn-reply-href]["name"], blockquote[class=post-message] [text()]"); 
+0

'текст()' не на самом деле имя атрибута. –

ответ

0

попробовать это (имя-element.class)

doc.select("a.postbtn-reply-href[name=112309691]")+""+doc.select("blockquote.post-message").text(); 
1

Как насчет этого селектора CSS?

a.postbtn-reply-href[name], blockquote.post-message:contains(text) 

ДЕМОНСТРАЦИОННЫЕ: http://try.jsoup.org/~kPbUK0RX6brMZFZZH-U-u9yVukY


Начальный селектор CSS понимается как показано ниже с помощью Jsoup:

a        // Select node descendant of a anchor node (a), 
[class=postbtn-reply-href]  // having a class named postbtn-reply-href 
["name"]      // and an attribute called "name" 
,        // OR 
blockquote[class=post-message] // Select a node descendant of any blockquote having a class named post-message 
[text()]      // and having an attribute called text() 

Литература:

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