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'?>1912高三1is_zhoufeng";
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();
}
}
}