XML JAXB样例

来源:互联网 发布:linux安装 编辑:程序博客网 时间:2024/05/01 12:50


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 {/** * 编排 */@Testpublic 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();}}/** * 反编排 */@Testpublic 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;@XmlRootElementpublic 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;}}






原创粉丝点击