要根据 XPath 提取表格数据,可以使用 Java 中的 XPath 和 DOM 解析器来解析 HTML 或 XML 文档,并使用 XPath 表达式来选择特定的表格元素。

以下是一个使用 Java 的 XPath 和 DOM 解析器来提取表格数据的示例代码:

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpression;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

public class XPathTableDataExtractor {

    public static void main(String[] args) {
        try {
            // 加载 XML 文档
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            DocumentBuilder builder = factory.newDocumentBuilder();
            Document document = builder.parse('path/to/your/file.xml');

            // 创建 XPath 对象
            XPathFactory xPathfactory = XPathFactory.newInstance();
            XPath xpath = xPathfactory.newXPath();

            // 编译 XPath 表达式
            XPathExpression expr = xpath.compile('//table//tr');

            // 执行 XPath 表达式,并获取结果节点列表
            NodeList nodeList = (NodeList) expr.evaluate(document, XPathConstants.NODESET);

            // 遍历结果节点列表,提取表格数据
            for (int i = 0; i < nodeList.getLength(); i++) {
                Element trElement = (Element) nodeList.item(i);
                NodeList tdNodeList = trElement.getElementsByTagName('td');

                for (int j = 0; j < tdNodeList.getLength(); j++) {
                    Element tdElement = (Element) tdNodeList.item(j);
                    String cellData = tdElement.getTextContent();
                    System.out.println(cellData);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上面的示例代码中,我们首先加载 XML 文档,并通过 XPath 表达式 //table//tr 选择所有的表格行节点。然后,我们遍历这些行节点,提取每个行节点中的单元格数据。在此示例中,我们假设 XML 文档中的表格使用 <table><tr><td> 元素来表示,可以根据实际情况进行调整。

请注意,上述示例代码中使用的是 XPath 和 DOM 解析器,因此要求 XML 文档必须是有效的 XML 格式。如果你要解析的是 HTML 文档,可以考虑使用基于 Jsoup 的解析库,它更适合解析和处理 HTML 文档。

Java 使用 XPath 提取表格数据 - 详细教程和示例代码

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

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