java对象与xml 之间相互转换

来源:互联网 发布:辰森餐饮软件 编辑:程序博客网 时间:2024/05/16 15:38
package com.zf.test;import java.io.StringReader;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;import org.junit.Test;import com.zf.vo.Classroom;import com.zf.vo.Student;public class TestXML {@Test //将java对象转换作为XML输出public void test01(){try {JAXBContext ctx = JAXBContext.newInstance(Student.class);Marshaller marchaller = ctx.createMarshaller() ;Student stu = new Student(1, "is_zhoufeng", 19,new Classroom(2, "高三", 01));marchaller.marshal(stu, System.out);} catch (JAXBException e) {e.printStackTrace();}}@Test//将XML格式字符串转换为java对象public void test02(){try {String xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?><student><age>19</age><classroom><grade>1</grade><id>2</id><name>高三</name></classroom><id>1</id><name>is_zhoufeng</name></student>";JAXBContext ctx = JAXBContext.newInstance(Student.class);Unmarshaller marchaller = ctx.createUnmarshaller();Student stu = (Student) marchaller.unmarshal(new StringReader(xml));System.out.println(stu.getId());System.out.println(stu.getName());System.out.println(stu.getAge());System.out.println(stu.getClassroom().getId());System.out.println(stu.getClassroom().getName());System.out.println(stu.getClassroom().getGrade());} catch (JAXBException e) {e.printStackTrace();}}}


原创粉丝点击