import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class XMLParserExample {
    public static void main(String[] args) {
        try {
            // 创建一个DocumentBuilderFactory对象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            // 创建一个DocumentBuilder对象
            DocumentBuilder builder = factory.newDocumentBuilder();
            // 解析XML文件并返回一个Document对象
            Document document = builder.parse(new File("example.xml"));
            // 获取文档的根元素
            Element root = document.getDocumentElement();
            System.out.println("Root element: " + root.getNodeName());
            // 获取所有"employee"节点
            NodeList nodeList = document.getElementsByTagName("employee");
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    Element element = (Element) node;
                    // 获取"employee"节点下的"name"和"role"子节点的文本内容
                    String name = element.getElementsByTagName("name").item(0).getTextContent();
                    String role = element.getElementsByTagName("role").item(0).getTextContent();
                    System.out.println("Name: " + name + ", Role: " + role);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}导入必要的包:
org.w3c.dom.*:用于处理DOM(文档对象模型)。javax.xml.parsers.*:用于解析XML文档。java.io.*:用于处理文件输入输出。创建DocumentBuilderFactory和DocumentBuilder对象:
DocumentBuilderFactory用于创建DocumentBuilder实例,后者负责解析XML文件并生成DOM树。解析XML文件:
DocumentBuilder的parse方法解析XML文件,返回一个Document对象,该对象表示整个XML文档的DOM树。获取根元素:
getDocumentElement方法获取XML文档的根元素,并打印其名称。遍历特定节点:
getElementsByTagName方法获取所有名为employee的节点,并遍历这些节点。employee节点,获取其子节点name和role的文本内容,并打印出来。异常处理:
try-catch块捕获并处理可能发生的异常。Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站