package xml.jaxb;
import java.io.StringReader;
import java.util.Date;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.junit.Test;
public class TestJAXB {
/**
* 编排
*/
@Test
public void testMarshaller(){
try {
Person person = new Person();
person.setName("name");
person.setAge(23);
person.setBirth(new Date());
person.setGender("man");
person.setPassed(false);
JAXBContext ctx = JAXBContext.newInstance(Person.class);
Marshaller marshaller = ctx.createMarshaller();
marshaller.marshal(person,System.out);
System.out.println("end");
} catch (JAXBException e) {
e.printStackTrace();
}
}
/**
* 反编排
*/
@Test
public void testUnmarshaller(){
try {
String src = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><person><age>23</age><birth>2013-06-25T09:20:18.074+08:00</birth><gender>man</gender><name>name</name><passed>false</passed></person>";
JAXBContext ctx = JAXBContext.newInstance(Person.class);
Unmarshaller unmarshaller = ctx.createUnmarshaller();
Person person = (Person)unmarshaller.unmarshal(new StringReader(src));
System.out.println(person.getName());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
package xml.jaxb;
import java.util.Date;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Person {
private String name;
private String gender;
private int age;
private Date birth;
private boolean isPassed;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
}
public boolean isPassed() {
return isPassed;
}
public void setPassed(boolean isPassed) {
this.isPassed = isPassed;
}
}