java 和 xml 的相互转换

1.新建两个类:

ClassRoom.java

public class ClassRoom {
 private int id;
 private String name;
 private Student student;

……增加get() set()和构造方法

}

 

Student.java

public class Student {
 private int id;
 private String name;
 private String grade;
 private String sex;

……增加get() set()和构造方法

}

 

2.建一个测试类(引入JUnit4)

public class TestJaxb {


 //java转为xml
 @Test
 public void test01() throws Exception{
  JAXBContext jct=JAXBContext.newInstance(ClassRoom.class);
  Marshaller marshaller=jct.createMarshaller();
  ClassRoom classroom=new ClassRoom(1,"11计科",new Student(1,"maoyedong","11","男"));
  marshaller.marshal(classroom, System.out);
 }

 

//xml转为java
 @Test
 public void test02() throws JAXBException{
  String xml="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><classRoom><id>1</id><name>11计科 </name><student><grade>11</grade><id>1</id><name>maoyedong</name><sex>男</sex></student></classRoom>";
  JAXBContext jct=JAXBContext.newInstance(ClassRoom.class);
  Unmarshaller unmarshaller=jct.createUnmarshaller();
  ClassRoom classroom=(ClassRoom) unmarshaller.unmarshal(new StringReader(xml));
  System.out.println("班级id="+classroom.getId()+"\n"+" 班级名称= "+classroom.getName()+"\n"
    +" 学生id="+classroom.getStudent().getId()+"\n"+"学生姓名= "+classroom.getStudent().getName());
  }
}

结果分别为:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><classRoom><id>1</id><name>11计科</name><student><grade>11</grade><id>1</id><name>maoyedong</name><sex>男</sex></student></classRoom>

  班级id=1
  班级名称= 11计科
  学生id=1
 学生姓名= maoyedong

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值