本文主要是介绍XML 使用JAXB创建xml java解析xml,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
下面我们通过两个bean类创建和解析xml文件
package com.sg.xml;
public class ClassRoom {
private int id ;
private String name;
private int grade;
public ClassRoom(int id, String name, int grade) {
super();
this.id = id;
this.name = name;
this.grade = grade;
}
public ClassRoom() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
}
Student.java
package com.sg.xml;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Student {
int id ;
String name;
int age ;
ClassRoom classRoom;
public Student() {
super();
}
public Student(int id, String name, int age, ClassRoom classRoom) {
super();
this.id = id;
this.name = name;
this.age = age;
this.classRoom = classRoom;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public ClassRoom getClassRoom() {
return classRoom;
}
public void setClassRoom(ClassRoom classRoom) {
this.classRoom = classRoom;
}
}
下面是测试类:
package com.sg.xml;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.junit.Test;
public class TestJaxb {
//创建xml
@Test
public void test01(){
try {
JAXBContext context = JAXBContext.newInstance(Student.class);
Marshaller marshaller = context.createMarshaller();
Student student = new Student(1, "孙刚", 20, new ClassRoom(1, "软件技术1002班", 2012));
marshaller.marshal(student, new File("f:"+File.separator+"xml01.xml"));
} catch (JAXBException e) {
e.printStackTrace();
}
}
//解析xml
@Test
public void test02(){
File file = new File("f:"+File.separator+"xml01.xml");
try {
JAXBContext context = JAXBContext.newInstance(Student.class);
Unmarshaller unmarshaller = context.createUnmarshaller();
Student student = (Student)unmarshaller.unmarshal(file);
System.out.println(student.getName()+","+student.getClassRoom().getName());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
创建结果如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
<age>20</age>
<classRoom>
<grade>2012</grade>
<id>1</id>
<name>软件技术1002班</name>
</classRoom>
<id>1</id>
<name>孙刚</name>
</student>
这篇关于XML 使用JAXB创建xml java解析xml的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!