首页 > 技术文章 > xstream的介绍及用法

july7 2019-09-05 11:02 原文

使用xstream工具包
导入xpp3_min-1.1.4c和xstream-1.4.9
特点:代码简洁,超级方便,可以自己定义xml格式(适合做文件传输)
属性特点:1. xStream.alias("person",Person.class);//设置别名,如果不设置那么运行结果如下

 设置后

xStream.useAttributeFor(Person.class,"personid");把persinid 作为属性就要使用此属性

没使用  默认作为子节点

 

 

 使用属性后

 1.封装person

/**
 * XML解析]
 *
 * @author BinPeng
 * @date 2019/8/31 21:40
 */
public class Person {
    private String personid;
    private String name;
    private String address;
    private String tel;
    private String email;

    @Override
    public String toString() {
        return "Person{" +
                "personid='" + personid + '\'' +
                ", name='" + name + '\'' +
                ", address='" + address + '\'' +
                ", tel='" + tel + '\'' +
                ", email='" + email + '\'' +
                '}';
    }

    public String getPersonid() {
        return personid;
    }

    public void setPersonid(String personid) {
        this.personid = personid;
    }

    public String getName() {
        return name;
    }

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

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

  2.

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.Xpp3Driver;
import org.junit.Test;

/**
 * 使用xstream工具包
 * 导入xpp3_min-1.1.4c和xstream-1.4.9
 *
 * @author 三只坚果
 * @date 2019/9/2 11:33
 *
 * 代码简洁,超级方便,可以自己定义xml格式(适合做文件传输)
 */

public class XStreamTest {
    XStream xStream = new XStream(new Xpp3Driver());
    @Test
    public void test(){
        Person p = new Person();
        p.setPersonid("2");
        p.setAddress("上海");
        p.setEmail("54332@qq.com");
        p.setTel("87654343");
        p.setName("X stream");

        //如果不取别名
      //  xStream.alias("person",Person.class); //可以根据自己的需要设置需要的xml文件格式
        xStream.useAttributeFor(Person.class,"personid");
        String s = xStream.toXML(p);//得到xml文件
        System.out.println(s);
      //  解析xml字符串
        Person ps = (Person) xStream.fromXML(s);//解析s
        System.out.println(ps);
    }
}

  

推荐阅读