我正在尝试使用 JSoup 库提取表格行数据。但它没有给出输出结果。
到目前为止,这是我的代码:
String html = "<tbody>"
+ "<tr>"
+ "<td><strong>Fit</strong></td>"
+ "<td>Regular</td>"
+ "</tr>"
+ "<tr>"
+ "<td><strong>Color</strong></td>"
+ "<td>Multi</td>"
+ "</tr>"
+ "<tr>"
+ "<td><strong>Style</strong></td>"
+ "<td>Checked</td>"
+ "</tr>"
+ "<tr>"
+ "<td><strong>Fabric</strong></td>"
+ "<td>Cotton</td>"
+ "</tr>"
+ "<tr>"
+ "<td><strong>Model Stats</strong></td>"
+ "<td> This model has height 5'9\",Bust 32\",Waist 28\",Hip 36\"and is Wearing Size 10.</td>"
+ "</tr>"
+ "</tbody>";
Document doc = Jsoup.parse(html);
for (Element table : doc.select("tbody")) {
for (Element row : table.select("tr")) {
Elements tds = row.select("td");
for (Element td : tds) {
System.out.println(td.text());
}
}
}
如果有人能建议我如何获得如下所示的出局,将不胜感激:
<strong>Fit</strong>
Regular
<strong>Color</strong>
Multi
<strong>Style</strong>
Checked
<strong>Fabric</strong>
Cotton ... etc..
感谢。
答案 0 :(得分:1)
问题在于 html
。您应该在{的开始和结束处添加 <table>
和 </table>
{1}}变量,否则Jsoup将无法正确解析您的html
,导致您的html
转换为<tbody>
,这就是您无法在查询中选择它的原因。< / p>
另外,要生成所需的输出,请使用<body>
代替td.html()
。