用于href +目标文本的Jsoup选择器语法为字符串

时间:2013-05-29 02:38:36

标签: jsoup

对另一个问题的回答表明,我最好在我的Android项目中使用JSoup来解析以下对网络电话的响应:

var OX_abced445 = '';
OX_abced445 += "<"+"a href=\'http://the.server.url/openx/www/delivery/ck.phpoaparams=2__bannerid=29__zoneid=3__cb=e3efa8b703__oadest=http%3A%2F%2Fsomesite.com\'target=\'_blank\'>This is some sample text to test with!<"+"/a><"+"div id=\'beacon_e3efa8b703\'style=\'position: absolute; left: 0px; top: 0px; visibility:hidden;\'><"+"img src=\'http://the.server.url/openx/www/delivery/lg.php?bannerid=29&amp;campaignid=23&amp;zoneid=3&amp;loc=1&amp;cb=e3efa8b703\' width=\'0\'height=\'0\' alt=\'\' style=\'width: 0px; height: 0px;\' /><"+"/div>\n";
document.write(OX_abced445);

我需要从此响应中提取两位并将它们存储在两个字符串中。我也知道响应将始终采用上面显示的格式。我需要href url而不是img src url所以我想我应该寻找href=\''之间的所有内容。我还需要提取目标文本,即。封装在This is some sample text to test with!_blank\'>之间的<"+"/a>。我有JSoup设置并连接到URL,检索响应但是我遇到选择器语法问题。任何意见,将不胜感激。

1 个答案:

答案 0 :(得分:1)

稍微提出您的问题,因为我不完全了解详情。

如果html文档中有单个超链接,则可以使用

选择链接和文本
Element link_el = doc.select("a").first();
String href_url = link_el.attr("href");
String target_text = link_el.text();

如果html文档中包含许多链接,那么您可能希望使用getElementsByClass为包含的类选择所需的位。

元素related_el = doc.getElementsByClass(“related-class-name”)。first();    元素link_el.select(“a”)。first();

当然,如果有很多链接,那么你会想要迭代doc.select(“a”)