在Jsoup中检查选择器的最佳方法

pek*_*sak 0 java jsoup

我有:

Document doc = Jsoup.connect("http://example.com").get();
doc.select(".main li").last().remove();
Run Code Online (Sandbox Code Playgroud)

如果.main li存在,这工作正常,但如果它不存在,那么我的应用程序崩溃.

我如何检查是否.main li存在?

Cha*_*nya 5

按照JSoup API对文档Element.html#选择(java.lang.String中),doc.select(String)方法返回元素.因此,el.size()在删除最后一项之前,您可以检查是否有任何元素.

Elements elements = doc.select(".main li");
if(elements.size() > 0){
   elements.last().remove();
}
Run Code Online (Sandbox Code Playgroud)

或者您可以在删除之前检查last元素是否null:

Element element = doc.select(".main li").last();
    if(element != null){
       element.remove();
    }
Run Code Online (Sandbox Code Playgroud)