html的table表格字符串如何转换成对象或者list
时间: 2024-02-20 09:58:44 浏览: 177
你可以使用Jsoup库将HTML字符串解析为一个Document对象,然后使用Jsoup提供的选择器API来获取table元素及其子元素,最后将其转换成Java对象或者List。以下是一个示例代码:
```java
String html = "<table><tr><th>Name</th><th>Age</th></tr><tr><td>Tom</td><td>20</td></tr><tr><td>Jerry</td><td>18</td></tr></table>";
Document document = Jsoup.parse(html);
// 获取table元素
Element table = document.select("table").first();
// 获取表头
Element thead = table.select("thead").first();
Elements ths = thead.select("th");
List<String> headers = new ArrayList<>();
for (Element th : ths) {
headers.add(th.text());
}
// 获取表格数据
Element tbody = table.select("tbody").first();
Elements trs = tbody.select("tr");
List<Map<String, String>> data = new ArrayList<>();
for (Element tr : trs) {
Elements tds = tr.select("td");
Map<String, String> row = new HashMap<>();
for (int i = 0; i < headers.size() && i < tds.size(); i++) {
row.put(headers.get(i), tds.get(i).text());
}
data.add(row);
}
```
这个示例将HTML字符串解析为一个Jsoup的Document对象,然后从中提取出表头和表格数据,并将结果存储到一个List<Map<String, String>>中。其中,List中的每个元素代表一行数据,Map中的键表示列名,值表示单元格内容。你也可以按照自己的需求提取其他元素,并将其转换成自己需要的Java对象。
阅读全文