2012-01-18 93 views
2

使用JSoup来解析HTML响应。我有多个Div标签。我必须根据ID选择Div标签。JSoup根据标题选择Div和基于标题的href

我的伪代码如下所示,

Document divTag = Jsoup.connect(link).get(); 
Elements info = divTag.select("div#navDiv"); 

其中navDiv是ID。但它似乎没有工作。

另外我想选择HREF里面的基于一些标题,其中hrefTitle []将字符串数组。所以,当迭代href时,我会检查标题是否存在于字符串数组中,如果是的话我会将它们添加到列表中否则忽略。我如何选择div内的href?和如何选择标题?任何输入非常赞赏。

+2

请发表您试图解析失败或没有做你期望的HTML的一个样本。它会帮助你更轻松地调试这个问题。此外,您正遇到麻烦的_actual_代码(而非伪代码)也很有帮助。 – cdeszaq 2012-01-18 15:34:23

回答

1

但它似乎没有工作。

应该工作。证明:

Document doc = Jsoup.parse("<html><body><div/>" + 
    "<div id=\"navDiv\">" + 
     "<a href=\"href1\">link1</a>" + 
     "<a href=\"href2\">link2</a><" + 
    "</div></body></html>"); 
Element div = doc.select("div#navDiv").first(); 

现在,我们可以选择具有(例如)一个href属性,其值是href2div内的a元件:

System.out.println(div.select("a[href=href2]")); 

输出:

<a href="href2">link2</a> 

你可以在这里找到完整的选择器语法: