要解析指定节点,你可以使用XPath表达式来定位节点并提取数据。以下是一个使用dom4j解析XML文档并提取指定节点数据的示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.io.File;
import java.util.List;
public class Dom4jExample {
public static void main(String[] args) {
try {
// 读取XML文件
File file = new File("example.xml");
SAXReader reader = new SAXReader();
Document document = reader.read(file);
// 使用XPath表达式定位指定节点
String xPathExpression = "//book[@id='1']"; // 查找id为1的book节点
List<Element> elements = document.selectNodes(xPathExpression);
// 提取节点数据
for (Element element : elements) {
String title = element.elementText("title");
String author = element.elementText("author");
System.out.println("Title: " + title);
System.out.println("Author: " + author);
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们首先读取名为"example.xml"的XML文件,然后使用XPath表达式"//book[@id=‘1’]"定位id为1的book节点。最后,我们提取了该节点下的title和author元素的值并打印出来。你可以根据实际情况修改XPath表达式来定位不同的节点。