2012-01-10 167 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> 

我想要做的是拉網址:
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

您可以發佈您的代碼片段? – 2012-01-10 23:29:15

+0

我在這裏用這個片段測試它 ''String url =「

test1 One
test2 Two
」; Document doc = Jsoup.parse(url); Elements divs = doc.select(「div a [href]」)。not(「。first.nope a [href]」); System.out.println(divs);'' – Peck3277 2012-01-10 23:40:52

+0

@ Peck3277:請不要在評論中張貼代碼,因爲您可以看到,代碼是不可讀的。最好編輯原始帖子,然後發表評論,說明你已發佈了修改。 – 2012-01-10 23:48:08

回答

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(); 
}