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

java解析xml文件

作者:似水韶华该惜谁ら   发布日期:2025-05-22   浏览:87

import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.File;

public class XMLParser {

    public static void main(String[] args) {
        try {
            // 1. 创建DocumentBuilderFactory对象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

            // 2. 创建DocumentBuilder对象
            DocumentBuilder builder = factory.newDocumentBuilder();

            // 3. 解析XML文件,获取Document对象
            Document document = builder.parse(new File("example.xml"));

            // 4. 获取文档的根元素
            Element root = document.getDocumentElement();
            System.out.println("Root element: " + root.getNodeName());

            // 5. 获取所有"employee"标签的节点列表
            NodeList nodeList = document.getElementsByTagName("employee");

            // 6. 遍历节点列表
            for (int i = 0; i < nodeList.getLength(); i++) {
                Node node = nodeList.item(i);

                // 7. 如果是元素节点,则处理
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    Element element = (Element) node;

                    // 8. 获取子元素的文本内容
                    String id = element.getAttribute("id");
                    String firstName = element.getElementsByTagName("firstName").item(0).getTextContent();
                    String lastName = element.getElementsByTagName("lastName").item(0).getTextContent();
                    String email = element.getElementsByTagName("email").item(0).getTextContent();

                    // 9. 打印结果
                    System.out.println("Employee ID: " + id);
                    System.out.println("First Name: " + firstName);
                    System.out.println("Last Name: " + lastName);
                    System.out.println("Email: " + email);
                    System.out.println("--------------------------");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 创建DocumentBuilderFactory对象:这是解析XML文件的第一步,DocumentBuilderFactory用于创建DocumentBuilder实例。
  2. 创建DocumentBuilder对象DocumentBuilder用于解析XML文件并生成一个Document对象。
  3. 解析XML文件:使用DocumentBuilderparse方法解析指定的XML文件,并返回一个Document对象。
  4. 获取根元素:通过getDocumentElement方法获取XML文档的根元素。
  5. 获取所有特定标签的节点列表:使用getElementsByTagName方法获取所有名为employee的元素节点列表。
  6. 遍历节点列表:遍历节点列表中的每个节点。
  7. 判断是否为元素节点:确保当前节点是元素节点(而不是注释或其他类型的节点)。
  8. 获取子元素的文本内容:通过getElementsByTagNamegetTextContent方法获取子元素的文本内容。
  9. 打印结果:将解析到的信息打印出来。

这个示例代码展示了如何使用Java的DOM解析器来读取和解析XML文件。

上一篇:java游戏编程

下一篇:javafx ui库

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

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

Laravel 中文站