Java XPath 提取 HTML 表格数据教程
要根据 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.*;
import org.w3c.dom.*;
public class HtmlTableExtractor {
public static void main(String[] args) throws Exception {
String html = '<html><body><table><tr><th>Name</th><th>Age</th></tr><tr><td>John</td><td>25</td></tr><tr><td>Jane</td><td>30</td></tr></table></body></html>';
// 使用 Jsoup 解析 HTML
Document doc = Jsoup.parse(html);
// 使用 XPath 解析器
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
// 编译 XPath 表达式
XPathExpression expr = xpath.compile('//table/tr');
// 使用 XPath 表达式进行匹配
NodeList nodes = (NodeList) expr.evaluate(new org.xml.sax.InputSource(new java.io.StringReader(doc.html())), XPathConstants.NODESET);
// 遍历匹配的结果
for (int i = 0; i < nodes.getLength(); i++) {
Element row = (Element) nodes.item(i);
Elements cols = row.getElementsByTag('td');
for (Element col : cols) {
System.out.print(col.text() + ' ');
}
System.out.println();
}
}
}
在这个示例中,我们首先使用 Jsoup 库将 HTML 代码解析为一个 Document 对象。然后,我们使用 XPath 表达式 //table/tr 来匹配 HTML 中的所有表格行。最后,我们遍历匹配的结果,提取每一行的单元格数据并打印出来。
注意:为了运行这个示例代码,你需要下载并添加 Jsoup 和 XPath 的相关库文件到你的 Java 项目中。
原文地址: https://www.cveoy.top/t/topic/qmVe 著作权归作者所有。请勿转载和采集!