首页javaxpathJava HTML/XML - 如何从某个树级别获取XML节点

Java HTML/XML - 如何从某个树级别获取XML节点

我们想知道如何从某个树级别获取XML节点。
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
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 Main {
  
  public static void main(String[] args) throws Exception {
    DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
    docFactory.setNamespaceAware(true);
    DocumentBuilder builder = docFactory.newDocumentBuilder();
    Document doc = builder.parse("data.xml");
    XPathExpression expr = XPathFactory.newInstance().newXPath().compile("/script/data");
    Object hits = expr.evaluate(doc, XPathConstants.NODESET);
    if (hits instanceof NodeList) {
      NodeList list = (NodeList) hits;
      for (int i = 0; i < list.getLength(); i++) {
        System.out.println(list.item(i).getTextContent());
      }
    }
  }
}