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, String name, 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();

                   }

                  

         }

你可能感兴趣的:(XML:使用JAXB完成JavaBean和xml的转化)