Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java xml解析

作者:初吻被奶嘴夺走了   发布日期:2025-08-08   浏览:8

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();
        }
    }
}

解释说明:

  1. 导入必要的包

    • org.w3c.dom.*:用于处理DOM(文档对象模型)。
    • javax.xml.parsers.*:用于解析XML文档。
    • java.io.*:用于处理文件输入输出。
  2. 创建DocumentBuilderFactory和DocumentBuilder对象

    • DocumentBuilderFactory用于创建DocumentBuilder实例,后者负责解析XML文件并生成DOM树。
  3. 解析XML文件

    • 使用DocumentBuilderparse方法解析XML文件,返回一个Document对象,该对象表示整个XML文档的DOM树。
  4. 获取根元素

    • 使用getDocumentElement方法获取XML文档的根元素,并打印其名称。
  5. 遍历特定节点

    • 使用getElementsByTagName方法获取所有名为employee的节点,并遍历这些节点。
    • 对于每个employee节点,获取其子节点namerole的文本内容,并打印出来。
  6. 异常处理

    • 使用try-catch块捕获并处理可能发生的异常。

上一篇:java string 转json

下一篇:java取绝对值

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站