2012-01-10 127 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(); 
}