惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
博客园 - 【当耐特】
人人都是产品经理
人人都是产品经理
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
小众软件
小众软件
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
MyScale Blog
MyScale Blog

博客园 - 灌木大叔

win10LTCS2021下载激活 程序员在线工具 宽带、IPTV及语音共享同一根网线传输原理 NFS与iSCSI Target性能比较 VMware vSphere安装 chrome插件脚本background_script和content_script chrome跨域设置 html5ajax上 传文件代码 Proxmox Virtual Environment(简称PVE)介绍 openwrt(LEDE)路由器简单设置 无损压缩FLAC,APE与WAV 创新的出路 走进作坊 团队--动物世界 vs2010+转换到 COFF 期间失败 windows删除用户时用户不属于此组 word无法创建工作文件,IE打开网页很慢 linux进程VIRT虚拟内存数值高 Java命令如何编译项目 UML(统一建模语言)应用 UML(统一建模语言)类关系
java解析html的table元素
灌木大叔 · 2024-04-22 · via 博客园 - 灌木大叔

java解析html的table元素

解析HTML Table 元素的 Java 实现
在网页开发中,HTML 的 Table 元素是用来展示数据的一种常见方式。有时候我们需要从网页中提取表格中的数据,这就需要使用 Java 对 HTML Table 进行解析。本文将介绍如何使用 Java 实现对 HTML Table 元素的解析,以及一些常见的操作方法。

使用 Jsoup 解析 HTML
在 Java 中,我们可以使用 Jsoup 这个工具库来解析 HTML。Jsoup 提供了简洁的 API,方便我们对 HTML 文档进行解析和操作。

首先,我们需要在 Maven 项目中添加 Jsoup 的依赖:

org.jsoup jsoup 1.13.1

接下来,我们可以使用 Jsoup 提供的 API 来解析 HTML。假设我们有一个包含表格的 HTML 文档:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class HtmlParser {
    public static void main(String[] args) throws Exception {
        String html = "<table><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></table>";
        Document doc = Jsoup.parse(html);
        
        Element table = doc.select("table").first();
        
        Elements rows = table.select("tr");
        for (Element row : rows) {
            Elements cells = row.select("td");
            for (Element cell : cells) {
                System.out.print(cell.text() + "\t");
            }
            System.out.println();
        }
    }
}

以上代码会输出表格中的数据:

1 2
3 4
表格数据操作
除了解析表格数据,我们还可以对表格进行一些操作,比如筛选特定的行或列,修改数据等等。下面是一些常见的操作方法:

筛选特定的行或列

// 筛选第一行数据
Element firstRow = rows.get(0);
System.out.println(firstRow.text());

// 筛选第一列数据
for (Element row : rows) {
    Elements cells = row.select("td:first-child");
    System.out.println(cells.text());
}

修改数据

// 修改第一行第一列的数据
Element cell = rows.get(0).select("td").get(0);
cell.text("5");
System.out.println(cell.text());