import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "Person")
public class Person {
    private String id;
    private List<Student> students;

    public Person() {
    }
    @XmlElement(name = "Id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @XmlElement(name = "Student")
    public List<Student> getStudents() {
        return students;
    }

    public void setStudents(List<Student> students) {
        this.students = students;
    }
}

这样得出来的结果是

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Person>
    <Id>001</Id>
    <Student>
        <Name>zs</Name>
    </Student>
    <Student>
        <Name>ls</Name>
    </Student>
</Person>

如果我们想要在student外进行包装Students,需要添加@XmlElementWrapper

import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "Person")
public class Person {
    private String id;
    private List<Student> students;

    public Person() {
    }
    @XmlElement(name = "Id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @XmlElementWrapper(name = "Students") // 添加包装元素
    @XmlElement(name = "Student")
    public List<Student> getStudents() {
        return students;
    }

    public void setStudents(List<Student> students) {
        this.students = students;
    }
}

这样得出来的结果是

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Person>
    <Id>001</Id>
    <Students>
        <Student>
            <Name>zs</Name>
        </Student>
        <Student>
            <Name>ls</Name>
        </Student>
    </Students>
</Person>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐