要根据节点名称获取节点,可以使用XPath表达式来定位节点。使用dom4j库可以很方便地实现这个功能。下面是一个示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.XPath;
import org.dom4j.io.SAXReader;
import java.util.List;
public class Dom4jExample {
public static void main(String[] args) {
try {
SAXReader reader = new SAXReader();
Document document = reader.read("example.xml");
String nodeName = "book"; // 要获取的节点名称
// 使用XPath表达式定位节点
XPath xPath = document.createXPath("//" + nodeName);
List<Node> nodes = xPath.selectNodes(document);
for (Node node : nodes) {
Element element = (Element) node;
System.out.println(element.asXML()); // 输出节点内容
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们首先创建一个SAXReader对象来读取XML文件,然后使用XPath表达式(“//” + nodeName)来定位所有节点名为"book"的节点,并将节点内容打印出来。您可以根据实际情况修改节点名称和XML文件路径。