栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用jsoup解析HTML表?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用jsoup解析HTML表?

是的,使用JSoup是可能的。首先,选择表格。然后,选择

<tr>
行标签。您可以从第二个索引开始,因为第一行仅包含列名。然后遍历
<th>
标签并获取特定的索引。在您的情况下,索引7和5很重要(索引7:状态,索引5:主机名)。检查状态是否等于或等于
down
,然后将主机名添加到列表中。就这样。

ArrayList<String> downServers = new ArrayList<>();Element table = doc.select("table").get(0); //select the first table.Elements rows = table.select("tr");for (int i = 1; i < rows.size(); i++) { //first row is the col names so skip it.    Element row = rows.get(i);    Elements cols = row.select("td");    if (cols.get(7).text().equals("down")) {        downServers.add(cols.get(5).text());    }}

更新: 找到单词后,

Titan
您可以创建另一个循环并查看集群名称是否为空。

编辑: 我将

while
循环更改为
do while
循环。

    ArrayList<String> downServers = new ArrayList<>();    Element table = doc.select("table").get(0); //select the first table.    Elements rows = table.select("tr");    for (int i = 1; i < rows.size(); i++) { //first row is the col names so skip it.        Element row = rows.get(i);        Elements cols = row.select("td");        if (cols.get(3).text().equals("Titan")) { if (cols.get(7).text().equals("down"))     downServers.add(cols.get(5).text()); do {     if(i < rows.size() - 1)        i++;     row = rows.get(i);     cols = row.select("td");     if (cols.get(7).text().equals("down") && cols.get(3).text().equals("")) {         downServers.add(cols.get(5).text());     }     if(i == rows.size() - 1)         break; } while (cols.get(3).text().equals("")); i--; //if there is two Titan names consecutively.        }    }

downServers ArrayList将包含停机服务器主机名列表。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/507218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号