gpt4 book ai didi

java - Jsoup:选择具有单个类的元素

转载 作者:行者123 更新时间:2023-12-02 06:25:55 25 4
gpt4 key购买 nike

我正在解析网站上的一些表格,特别是我试图按类名提取以下单元格:

<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

}

关于java - Jsoup:选择具有单个类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com