对象转xml or xml转对象XStream and jaxb

需要的jar包:xstream-1.4.2.jar

maven pom 依赖:

<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>

demo如下:

package com.csair.test.xstream;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.io.xml.StaxDriver;

/**
* test XStream
* @author ppt
*
*/
public class TestXStream {

public static void main(String[] args) {
Person person = new Person();
person.setId(1);
person.setPassword("ppt");
person.setUsername("pengpanting");
//XStream xStream = new XStream();
//XStream xStream = new XStream(new DomDriver());//dom解析xml
XStream xStream = new XStream(new StaxDriver());//stax解析xml
//xStream.alias("person",Person.class);
String str = xStream.toXML(person);
System.out.println(str);

Person per = (Person)xStream.fromXML(str);
System.out.println(per.toString());

}
}

@XStreamAlias("person")
class Person {
private int id;
private String username;
private String password;

@Override
public String toString() {
return "Person [id=" + id + ",username=" + username + ",password="
+ password + "]";
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

二、jaxb方式

<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.1</version>
</dependency>

/** * 对象转xml * @return * @throws Exception */ private static String getXml() throws Exception { UserDTO dto = new UserDTO(); dto.setId(12); dto.setPassword("ppt"); dto.setUsername("ppt"); JAXBContext jaxb = JAXBContext.newInstance(UserDTO.class); Marshaller marshaller = jaxb.createMarshaller(); StringWriter sw = new StringWriter(); marshaller.marshal(dto,sw); return sw.toString(); } /** * xml转对象 * @param xml * @return * @throws Exception */ private static UserDTO getObject(String xml) throws Exception { JAXBContext jaxb = JAXBContext.newInstance(UserDTO.class); Unmarshaller unmarshaller = jaxb.createUnmarshaller(); UserDTO dto = (UserDTO)unmarshaller.unmarshal(new StringReader(xml)); return dto; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇