java对象转xml_把Java对象转为xml格式

主要使用到的Java类有:javax.xml.bind.JAXBContext,javax.xml.bind.Marshaller(编排)

代码主要展示如下:

public classStudent {private intid;privateString name;private intage;public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}public intgetAge() {returnage;

}public void setAge(intage) {this.age =age;

}public Student(int id, String name, intage) {super();this.id =id;this.name =name;this.age =age;

}publicStudent() {super();//TODO Auto-generated constructor stub

}

}

importjavax.xml.bind.annotation.XmlRootElement;

@XmlRootElementpublic classClassRoom {private intclassRoomId;privateString classRoomName;privateStudent student;public intgetClassRoomId() {returnclassRoomId;

}public void setClassRoomId(intclassRoomId) {this.classRoomId =classRoomId;

}publicString getClassRoomName() {returnclassRoomName;

}public voidsetClassRoomName(String classRoomName) {this.classRoomName =classRoomName;

}publicStudent getStudent() {returnstudent;

}public voidsetStudent(Student student) {this.student =student;

}public ClassRoom(intclassRoomId, String classRoomName, Student student) {super();this.classRoomId =classRoomId;this.classRoomName =classRoomName;this.student =student;

}publicClassRoom() {super();//TODO Auto-generated constructor stub

}

}

测试:

importjavax.xml.bind.JAXBContext;importjavax.xml.bind.Marshaller;public classTest {/***@paramargs*/

public static void main(String[] args)throwsException{//TODO Auto-generated method stub

JAXBContext jbt= JAXBContext.newInstance(ClassRoom.class);

ClassRoom cr= new ClassRoom(1, "一班", new Student(10, "张三", 22));

Marshaller ms=jbt.createMarshaller();

ms.marshal(cr, System.out);

}

}

结果:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>1一班2210张三

在这个简单的示例中主要留意的地方:1.Test.java 中的代码

2. ClassRoom 类中加注解@XmlRootElement

把生成的xml文件生成Java对象:

主要代码:

String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>1一班2210张三";

JAXBContext unjbt= JAXBContext.newInstance(ClassRoom.class);

Unmarshaller unms=unjbt.createUnmarshaller();

ClassRoom uncr=(ClassRoom) unms.unmarshal(newStringReader(xml));

System.out.println(uncr.getClassRoomId()+uncr.getClassRoomName());

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值