[英]Jsoup: Selecting elements that have a single class
我正在从网站解析一些表,特别是我试图通过类名提取以下单元格:
<td class=" text_bold">example</td>
我使用标准的Jsoup选择器来提取带有类的标签,如下所示:
Elements cells = doc.select("td.text_bold");
问题是还有其他单元格也被选中,因为它们同时具有text_bold
类和另一个类,例如:
<td class="text_bold text_align_left" valign="top" width="150">example</td>
是否有一种简单的方法可以仅过滤具有select()
方法中指定的单个类的元素?
我之前陷入过这种境地。 但是,我使用的技巧是:
Elements
:对于您的上下文"text_bold"
Element.className()
函数获得。 如果类名是"aClass bClass"
格式,则此函数将其作为一个类名返回。 例如:
Document doc = Jsoup.parse("<td class=\"text_bold text_align_left\" valign=\"top\" width=\"150\">example</td>
<td class=\" text_bold\">example</td>");
Elements elms = doc.select("td.text_bold");
for(Element e:elms)
if(e.className().trim().equals("text_bold"))
//^^^<--trim is required as,
// their can be leading and trailing space
{
System.out.println(e.className());
// do my thing
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.