2012-01-10 2 views
1

У меня возникли проблемы с выбором ссылок в моем html. Вот HTML-код у меня есть:Проблемы с выбором JSoup

<div class=first> 
    <a href=www.test1.com>test1</a> 

    <div class=nope> 
     <a href=www.test2.com>test2</a> 
     <a href=www.test3.com>test3</a> 
     <a href=www.test4.com>test4</a> 
    </div> 
</div> 

То, что я хочу сделать, это вытащить URL-адреса:
www.test2.com
www.test3.com
www.test4.com

у меня есть попробовал много разных комбинаций .select и .not, но я просто не могу понять это. Может ли кто-нибудь указать, что я делаю неправильно?

String url = "<div class=first><a href=www.test1.com>test1</a>One<div class=nope><a href=www.test2.com>test2</a>Two</div></div><div class=second><a href=www.test3.com>test3</a></div>"; 
Document doc = Jsoup.parse(url); 
Elements divs = doc.select("div a[href]").not(".first.nope a[href]"); 
System.out.println(divs); 
+1

Вы можете разместить фрагмент кода? –

+0

Я тестировал этот фрагмент здесь '' String url = "

test1 One
test2 Two
"; Документ doc = Jsoup.parse (url); Элементы divs = doc.select ("div a [href]"). Not (". First.nope a [href]"); System.out.println (divs); '' – Peck3277

+0

@ Peck3277: Пожалуйста, не публикуйте код в комментариях, поскольку, как вы можете видеть, код невозможно прочитать. Лучше отредактируйте исходное сообщение, а затем опубликуйте комментарий, в котором говорится, что вы разместили редактирование. –

ответ

2
Document doc = Jsoup.parse("your html code/url "); 
Elements links = doc.select("div.nope a").first(); 
for (Element link : links) { 
System.out.println(link.attr("href")); 
1

Я хотел бы сделать это немного по-другому:

Elements elements = doc.select("div.nope").select("a[href]"); 

    for (Element element : elements) { 
    System.out.println(element.attr("href")); 
    } 
0
Elements data=doc.getElementsByClass("nope") 

for(Element d:data) 
{ 
    String yourData= d.tagName("href").toString(); 
} 
Смежные вопросы