Reg*_*kie 2 html html-parsing jsoup
以下代码片段提取一个且仅一个元素,特别是第一个元素:
String linkHref = "";
String linkText = "";
Elements links = div.getElementsByTag("a");
for (Element link : links) {
linkHref = link.attr("href");
linkText += link.text();
break;
}
Run Code Online (Sandbox Code Playgroud)
与简洁相比,这是非常繁琐的代码,links.get(0)但它有一个重要特性:如果Elements为空,它将不会抛出IndexOutOfBoundException.相反,它只会将字符串留空.
我可以将它封装到我自己的函数中,但我很难相信Jsoup已经没有这样的功能了(我更喜欢使用库函数而不是"尽可能地重新发明轮子").我搜索了文档但找不到任何文档.
你知道Elements.get(0)Jsoup中是否存在这样的"安全"吗?
elements.first()返回元素中的第一个元素,如果为空则返回null.
您还可以使用elements.isEmpty()来检查是否有任何内容与您的选择器匹配.
例如,取决于您要做的事情:
Element link = div.select("a").first();
if (link != null) {
String href = link.attr("href");
String text = link.text();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2306 次 |
| 最近记录: |