加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 23:51:37 所属栏目:百科 来源:网络整理
导读:需要的jar包:xstream-1.4.2.jar maven pom 依赖: dependency groupIdcom.thoughtworks.xstream/groupId artifactIdxstream/artifactId version1.4.2/version /dependency demo如下: package com.csair.test.xstream; import com.thoughtworks.xstream.XSt

需要的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; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读