我有以下格式的 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>
还有其他跨度类。但我只想得到低于 3 的值,它将被插入到数据库中。
19,500
19,000
19,600
我已经尝试过:
Elements elements = doc.select(".yfnc_tabledata1");
for(Element e : elements) {
System.out.println(e.text());
}
甚至我也尝试过
doc.select(".yfnc_tabledata1").select("span");
还是不行,请帮忙。
最佳答案
如果您尝试仅解析 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());
}
}
}
关于java - jSoup 从 <td><span> 类获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38049776/