JAXB注解实现java Bean和xml之间的转换

JAXB注解,可以通过JAXB轻松实现对象和XML之间的转换。


public class Main {

    public static void main(String args[]) {
        try {
            Dog dog = new Dog();
            dog.setId(1000L);
            dog.setName("xiaoWang");
            dog.setAge(10);

            Writer writer = new StringWriter();
            JAXBContext jc = JAXBContext.newInstance(Dog.class);
            Marshaller ms = jc.createMarshaller();
            ms.marshal(dog, writer);
            String result = writer.toString();
            System.out.println("对象转XML字符串: " + result);
            System.out.println("----------------------------------------");
            Unmarshaller unmarshaller = jc.createUnmarshaller();
            Dog dog1 = (Dog) unmarshaller.unmarshal(new StringReader(result));
            System.out.println("翻转XML为对象:" + dog1.toString());
        } catch (JAXBException e) {
            e.printStackTrace();
        }


    }


}

@XmlRootElement
class Dog {

    private Long id;
    private String name;
    private Integer age;


    @XmlElement(name = "编号")
    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

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

    @Override
    public String toString() {
        return "Dog{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

猜你喜欢

转载自blog.csdn.net/hong10086/article/details/89186756