Java 的 HTMLXML 解析器 [关闭]

xmlJava

1个回答

写回答

18062045103

2025-07-09 18:07

+ 关注

Java
Java

使用 Java 的 HTML/XML 解析器

在开发 Web 应用程序时,我们经常需要解析 HTML 或 XML 文件以从中提取所需的信息。为了实现这个目标,Java 提供了许多强大的 HTML/XML 解析器。这些解析器可以帮助我们轻松地处理和操作 HTML 或 XML 数据。

使用 JSoup 解析 HTML

JSoup 是一个开源的 Java HTML 解析器,它提供了一种简单而灵活的方式来解析 HTML 文档。我们可以使用 JSoup 来提取和操作 HTML 页面中的各种元素和属性。

下面是一个简单的示例代码,演示了如何使用 JSoup 解析 HTML 文档并提取标题和链接:

Java

import org.JSoup.JSoup;

import org.JSoup.nodes.Document;

import org.JSoup.nodes.Element;

import org.JSoup.select.Elements;

import Java.io.IOException;

public class JSoupExample {

public static void mAIn(String[] args) {

try {

// 从指定的 URL 获取 HTML 文档

Document doc = JSoup.connect("https://example.com").get();

// 提取页面的标题

String title = doc.title();

System.out.println("页面标题: " + title);

// 提取页面中的所有链接

Elements links = doc.select("a[href]");

for (Element link : links) {

String linkText = link.text();

String linkHref = link.attr("href");

System.out.println("链接文本: " + linkText);

System.out.println("链接地址: " + linkHref);

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

使用 XPath 解析 XML

XPath 是一种用于在 XML 文档中定位元素的语言。Java 提供了许多库和工具,可以使用 XPath 解析和操作 XML 数据。在这里,我们将使用 Java 的内置 XPath 支持来解析 XML 文件。

下面是一个简单的示例代码,演示了如何使用 XPath 解析 XML 文件并提取特定元素的值:

Java

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.XPathFactory;

import org.w3c.dom.Document;

import org.w3c.dom.NodeList;

public class XPathExample {

public static void mAIn(String[] args) {

try {

// 创建一个 DocumentBuilder 对象

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

// 从 XML 文件中加载文档

Document doc = builder.parse("data.XML");

// 创建一个 XPath 对象

XPathFactory xPathfactory = XPathFactory.newInstance();

XPath xpath = xPathfactory.newXPath();

// 编译 XPath 表达式

XPathExpression expr = xpath.compile("//book[price>10]/title/text()");

// 在文档中执行 XPath 表达式

Object result = expr.evaluate(doc, XPathConstants.NODESET);

NodeList nodes = (NodeList) result;

// 提取并打印匹配的元素值

for (int i = 0; i < nodes.getLength(); i++) {</p> System.out.println("书名: " + nodes.item(i).getNodeValue());

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

Java 提供了许多强大的 HTML/XML 解析器,如 JSoup 和内置的 XPath 支持。使用这些解析器,我们可以轻松地解析和操作 HTML 或 XML 数据,从中提取所需的信息。无论是处理 Web 页面还是处理 XML 数据,这些解析器都可以帮助我们更高效地完成工作。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号