import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.xpath.*;
import java.io.*;
public class XPathExample {
public static void main(String[] args) {
try {
// 1. 解析 XML 文件
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("example.xml"));
// 2. 创建 XPathFactory 和 XPath 对象
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
// 3. 编写 XPath 表达式并获取节点列表
String expression = "/books/book/title";
NodeList nodeList = (NodeList) xpath.evaluate(expression, doc, XPathConstants.NODESET);
// 4. 遍历节点列表并输出结果
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
System.out.println(node.getTextContent());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
DocumentBuilder
来解析 XML 文件,并将其转换为 Document
对象。XPathFactory
创建一个 XPath
对象,用于执行 XPath 查询。/books/book/title
,该表达式用于查找所有 <book>
元素下的 <title>
子元素。然后使用 evaluate
方法执行查询,并将结果存储在 NodeList
中。NodeList
并输出每个节点的文本内容。这个示例代码展示了如何使用 Java 的 XPath API 来解析和查询 XML 文件。
上一篇:java异或运算符怎么算
下一篇:deque java
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站