需要的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; } (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|