java xml怎么转为list「xml转javabean」

我不是码神2024-02-11java11

Java中将XML转换为List的方法详解

(图片来源网络,侵删)

在Java开发过程中,我们经常需要处理XML文件,将其转换为Java对象以便于操作,本文将详细介绍如何在Java中将XML文件转换为List对象。

准备工作

1、确保已经安装了Java开发环境(JDK)和Maven构建工具。

2、创建一个Java项目,并在项目的pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxbapi</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxbcore</artifactId>
        <version>2.3.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxbimpl</artifactId>
        <version>2.3.2</version>
    </dependency>
</dependencies>

创建XML文件

假设我们有一个XML文件如下:

<?xml version="1.0" encoding="UTF8"?>
<students>
    <student>
        <name>张三</name>
        <age>20</age>
    </student>
    <student>
        <name>李四</name>
        <age>22</age>
    </student>
    <student>
        <name>王五</name>
        <age>24</age>
    </student>
</students>

创建对应的Java类

1、创建一个Student类,用于表示XML中的student元素:

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "student")
public class Student {
    private String name;
    private int age;
    public String getName() {
        return name;
    }
    @XmlElement
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    @XmlElement
    public void setAge(int age) {
        this.age = age;
    }
}

2、创建一个Students类,用于表示XML中的students元素:

import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "students")
public class Students {
    private List<Student> studentList;
    public List<Student> getStudentList() {
        return studentList;
    }
    @XmlElement(name = "student")
    public void setStudentList(List<Student> studentList) {
        this.studentList = studentList;
    }
}

编写解析XML的代码

1、创建一个名为XmlToListDemo的类,用于演示如何将XML转换为List:

import java.io.File;
import java.util.List;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class XmlToListDemo {
    public static void main(String[] args) {
        try {
            // 创建JAXB上下文
            JAXBContext jaxbContext = JAXBContext.newInstance(Students.class);
            // 创建Unmarshaller对象
            Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
            // 解析XML文件
            Students students = (Students) unmarshaller.unmarshal(new File("students.xml"));
            // 获取转换后的List对象
            List<Student> studentList = students.getStudentList();
            // 输出结果
            for (Student student : studentList) {
                System.out.println("姓名:" + student.getName() + ",年龄:" + student.getAge());
            }
        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}

2、运行XmlToListDemo类的main方法,将会看到以下输出:

姓名:张三,年龄:20
姓名:李四,年龄:22
姓名:王五,年龄:24

至此,我们已经成功地将XML文件转换为了List对象,在实际开发中,可以根据需要对XML文件进行解析和操作。

评论列表

心跳
心跳
2024-02-11

通过Java的JAXB库,我们可以轻松地将XML文档转换为JavaBean对象,实现xml转javabean的功能。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。