0

另一个问题的答案建议我最好在我的 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,检索响应,但在选择器语法方面遇到问题。任何意见,将不胜感激。

4

1 回答 1

1

由于我不完全了解细节,因此稍微从您的问题中抽象出来。

如果您在 html 文档中有单个超链接,则可以使用选择链接和文本

Element link_el = doc.select("a").first();
String href_url = link_el.attr("href");
String target_text = link_el.text();

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

元素相关_el = doc.getElementsByClass("relevant-class-name").first(); 元素 link_el.select("a").first();

当然,如果有很多链接,那么您将需要遍历 doc.select("a")

于 2013-05-29T12:39:11.730 回答