我有一部分格式为
的html文件<td class="yfnc_tabledata1">20,000</td>
<td class="yfnc_tabledata1">19,500</td>
<td class="yfnc_tabledata1"><span><span>19,000</span></span> - <span><span>19,600</span></span></td>
<td class="yfnc_tabledata1"><span>18,000</span> - <span>26,000</span></td>
还有其他span类。但我想仅获得3以下的值,这将被插入到数据库中。
19500
19000
19600
我试过了:
Elements elements = doc.select(".yfnc_tabledata1");
for(Element e : elements) {
System.out.println(e.text());
}
甚至我试过
doc.select(".yfnc_tabledata1").select("span");
仍然不起作用,请帮助。
答案 0 :(得分:0)
如果你只想解析html的一部分来选择td标签,你至少要在开头添加一个table和tr标签。示例:
public class NewClass7 {
public static void main(String[] args) {
String html = "<table>\n" +
"<tr>" +
"<td class=\"yfnc_tabledata1\">20,000</td>\n" +
"<td class=\"yfnc_tabledata1\">19,500</td>\n" +
"<td class=\"yfnc_tabledata1\"><span><span>19,000</span></span> - <span><span>19,600</span></span></td>\n" +
"<td class=\"yfnc_tabledata1\"><span>18,000</span> - <span>26,000</span></td>";
Document document = Jsoup.parse(html);
Elements tds = document.select("td");
for (Element e : tds) {
if(e.text().startsWith("19"))
System.out.println(e.text());
}
}
}