美文网首页
xml和对象之间互转

xml和对象之间互转

作者: Nick_4438 | 来源:发表于2018-09-14 22:01 被阅读0次

前言

本文介绍利用java转换xml和java对象

本文测试使用maven项目,项目中需要加入如下依赖:

      <dependency>
            <groupId>com.thoughtworks.xstream</groupId>
            <artifactId>xstream</artifactId>
            <version>1.4.10</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
        </dependency>

对象代码

@Data
public class Person {
    private String firstname;
    private String lastname;

    public Person(String firstname, String lastname) {
        this.firstname = firstname;
        this.lastname = lastname;
    }

    private PhoneNumber phone;
    private PhoneNumber 邮件;
}
@Data
public class PhoneNumber {
    private int code;
    private String number;

    public PhoneNumber(int code, String number) {
        this.code = code;
        this.number = number;
    }
}

转换代码

public class XmlUtil {
    public  String obj2String(Object obj){
        XStream xstream = new XStream();
        String xml = xstream.toXML(obj);
        return  xml;
    }

    public  Object string2Obj(String str){
        XStream xstream = new XStream();
        return xstream.fromXML(str);
    }


    public static void main(String[] args) {
        Person joe = new Person("Joe", "Walnes");
        joe.setPhone(new PhoneNumber(123, "1234-456"));
        joe.set邮件(new PhoneNumber(123, "9999-999"));

        XmlUtil xmlUtil = new XmlUtil();
        //对象转换成为xml
        String xml = xmlUtil.obj2String(joe);
        System.out.println(xml);
        //xml转换成为对象
        Person newJoe = (Person)xmlUtil.string2Obj(xml);
        System.out.println("new Joe:"+newJoe.getFirstname()+" "+newJoe.getLastname());

    }
}

相关文章

网友评论

      本文标题:xml和对象之间互转

      本文链接:https://www.haomeiwen.com/subject/dagwgftx.html