XML:使用JAXB完成JavaBean和xml的转化

使用JAXB完成java和xml的转化【需要在你的实体类上添加 @XmlRootElement

public class Classroom {

privateint id;

privateString name;

privateint grade;

publicClassroom(int id,String name,int grade) {

super();

this.id= id;

this.name= name;

this.grade= grade;

}

publicClassroom() {

super();

//TODO Auto-generated constructor stub

}

}

@XmlRootElement

public class Student {

privateint id;

privateString name;

privateint age;

private Classroom classroom;

publicStudent(int id,int age,Classroom classroom) {

super();

this.id= id;

this.name= name;

this.age= age;

this.classroom= classroom;

}

publicStudent() {

super();

}

}

@Test【对象转换为XML】

publicvoid test01() {

try{

JAXBContextctx = JAXBContext.newInstance(Student.class);

Marshallermarshaller = ctx.createMarshaller();

Studentstu = new Student(1,"张三",21,new Classroom(1,"10计算机应用技术",2010));

marshaller.marshal(stu,System.out);

}catch (JAXBException e) {

e.printStackTrace();

}

}

@Test【XML转换为对象】

publicvoid test02() {

try{

Stringxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"standalone=\"yes\"?><student><age>21</age><classroom><grade>2010</grade><id>1</id><name>10计算机应用技术</name></classroom><id>1</id><name>张三</name></student>";

JAXBContextctx = JAXBContext.newInstance(Student.class);

Unmarshallerum = ctx.createUnmarshaller();

Studentstu = (Student)um.unmarshal(new StringReader(xml));

System.out.println(stu.getName()+","+stu.getClassroom().getName());

}catch (JAXBException e) {

e.printStackTrace();

}

}

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念