要根据 XPath 提取 HTML 文件中的表格数据,可以使用 Java 中的 XPath 和 HTML 解析库。以下是一个示例代码,演示了如何使用 Java 的 XPath 和 Jsoup 库来提取 HTML 文件中的表格数据:

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

import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import java.io.File;

public class HtmlTableExtractor {
    public static void main(String[] args) {
        try {
            // 加载HTML文件
            File input = new File('input.html');
            Document doc = Jsoup.parse(input, 'UTF-8');

            // 使用XPath表达式提取表格数据
            XPath xPath = XPathFactory.newInstance().newXPath();
            String expression = '//table//tr';
            Elements rows = (Elements) xPath.evaluate(expression, doc, XPathConstants.NODESET);

            // 遍历每一行数据
            for (Element row : rows) {
                Elements cells = row.getElementsByTag('td'); // 提取每一行中的单元格数据
                for (Element cell : cells) {
                    System.out.print(cell.text() + '\t'); // 输出单元格数据
                }
                System.out.println();
            }
        } catch (XPathExpressionException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们首先使用 Jsoup 库加载 HTML 文件,并将其解析为一个 Document 对象。然后,我们使用 XPathFactory 创建一个 XPath 对象,并使用 XPath 表达式 '//table//tr' 来提取所有的表格行。

接下来,我们遍历每一行数据,并使用 getElementsByTag('td') 方法提取每一行中的单元格数据。最后,我们输出每个单元格的文本内容。

请注意,上述代码中的 'input.html' 是示例 HTML 文件的路径,你需要将其替换为你实际的 HTML 文件路径。

这是一个基本示例,你可以根据你的具体需求进行修改和扩展。

Java 使用 XPath 提取 HTML 表格数据

原文地址: https://www.cveoy.top/t/topic/qmVk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录