首先加Maven依赖
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.10</version>
</dependency>
然后创建一个测试类User
public class User {
private String userName;
private String email;
public User() {}
public User(String userName, String email) {
this.userName = userName;
this.email = email;
}
public String toString() {
return "User:{userName=" + this.userName + ",email=" + this.email + "}";
}
//Getter and Setter...
}
Java对象转成XML
public static void main(String[] args) {
User user = new User("lanweihong", "lwhhhp@gmail.com");
//创建解析XML对象
XStream xStream = new XStream();
//设置别名, 默认会输出全路径
xStream.alias("User", User.class);
//转为xml
String xml = xStream.toXML(user);
System.out.println(xml);
//list一样可以,会在加一个List的根节点
User user2 = new User("bdl","123@qq.com");
List<User> list = new ArrayList();
list.add(user);
list.add(user2)
String xml2 = xStream.toXML(list);
System.out.println(xml2);
}
效果
<User>
<userName>lanweihong</userName>
<email>lwhhhp@gmail.com</email>
</User>
XML转成Java
public static void main(String[] args) {
XStream xStream = new XStream();
xStream.alias("User", User.class);
String xml = "<User>\n" +
" <userName>lanweihong</userName>\n" +
" <email>lwhhhp@gmail.com</email>\n" +
"</User>";
//转对象
User user = (User)xStream.fromXML(xml);
System.out.println(user.toString());
//同样List也可以,这里不再写代码了
}
效果
User:{userName=lanweihong,email=lwhhhp@gmail.com}