Java如何在JAXB中将bean属性映射到XML属性?
在此示例中,您将学习如何在JAXB中将bean/pojo属性定义为XML属性。为了将属性定义为XML属性,我们使用了@XmlAttribute注释。在Student下面的类中,该id属性将定义为student根元素的属性。而nameandgrade属性将是的元素student。
package org.nhooo.example.jaxb;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Student {
private Integer id;
private String name;
private Integer grade;
@XmlAttribute
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getGrade() {
return grade;
}
public void setGrade(Integer grade) {
this.grade = grade;
}
}在这里,我们可以使用该程序将Studentbean转换为XML文档。
package org.nhooo.example.jaxb;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.FileWriter;
import java.io.IOException;
public class JAXBElementAttribute {
public static void main(String[] args) {
Student student = new Student();
student.setId(1);
student.setName("Alice");
student.setGrade(12);
try {
JAXBContext context = JAXBContext.newInstance(Student.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(student, new FileWriter("Student.xml"));
} catch (JAXBException | IOException e) {
e.printStackTrace();
}
}
}当您运行该程序时,Student.xml将创建一个名为的文件,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student id="1">
<grade>12</grade>
<name>Alice</name>
</student>
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短