使用Java在控制台中打印HTML表格
问题描述:
我有一个包含HTML表格的StringBuilder。我想知道,如果我可以使用某种类型的库或任何东西在控制台中打印此表。 例如:使用Java在控制台中打印HTML表格
StringBuilder string = "<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
</table>"
我想打印上面的字符串以表格的形式在控制台这样的,我并不需要指定像列标题或任何其他信息的任何表信息。
答
@jhutan试试这个来产生你正在寻找的输出。
public static void main(String[] args) throws IOException {
String html = "https://www.w3schools.com/html/html_tables.asp";
Document doc = Jsoup.connect(html).get();
Elements tableElements = doc.select("table");
Elements tableHeaderEles = tableElements.select("th");
System.out.println("headers");
System.out.println("tableHeaderEles.size()" + tableHeaderEles.size());
StringBuilder th = new StringBuilder();
for (int i = 0; i < tableHeaderEles.size(); i++) {
th.append(tableHeaderEles.get(i).text());
th.append(" ");
}
System.out.println(th);
Elements tableRowElements = tableElements.select(":not(thead) tr");
for (int i = 0; i < tableRowElements.size(); i++) {
Element row = tableRowElements.get(i);
Elements rowItems = row.select("td");
StringBuilder a = new StringBuilder();
for (int j = 0; j < rowItems.size(); j++) {
a.append(rowItems.get(j).text());
}
System.out.println(" " + a);
// System.out.println();
}
}
'System.out.println(string.toString())'你的意思是说这个? –
@ atulquest93你不需要toString和println –
我想打印表格的行和列,我们在HTML页面中看到的。 –