Xml 转换对象以及对象转换xml应用XStream
2017-09-22 15:20
351 查看
需要导入的包和项目如下:
User.java代码:
public class User {
private String id;
private String name ;
private String age;
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", pwd=" + pwd + "]";
}
}
Test.java代码
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
运行结果:
object to xml
<com.test.domain.User>
<id>1</id>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</com.test.domain.User>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
这里可以给输出的xml起一个别名:
例如:下免得测试代码:
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
xml.alias("address", User.class);
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
运行结果:
object to xml
<address>
<id>1</id>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</address>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
这里我们将user这个对象起了一个别名为address,其他的修改也是同理,如何要给属性起别名就用
xml.aliasField("userid", User.class, "id");
这里我们也可以用注解的方式来起别名:
测试代码如下:
User.java代码
package com.test.domain;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("user")
public class User {
@XStreamAlias("userId")
private String id;
private String name ;
private String age;
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", pwd=" + pwd + "]";
}
}
Test.java测试代码如下:
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
xml.processAnnotations(User.class);
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
测试结果如下:
object to xml
<user>
<userId>1</userId>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</user>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
@XStreamAlias注解可在类与属性上使用设置名称,相当于: xstream.alias("user", User.class);
User.java代码:
public class User {
private String id;
private String name ;
private String age;
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", pwd=" + pwd + "]";
}
}
Test.java代码
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
运行结果:
object to xml
<com.test.domain.User>
<id>1</id>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</com.test.domain.User>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
这里可以给输出的xml起一个别名:
例如:下免得测试代码:
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
xml.alias("address", User.class);
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
运行结果:
object to xml
<address>
<id>1</id>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</address>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
这里我们将user这个对象起了一个别名为address,其他的修改也是同理,如何要给属性起别名就用
xml.aliasField("userid", User.class, "id");
这里我们也可以用注解的方式来起别名:
测试代码如下:
User.java代码
package com.test.domain;
import com.thoughtworks.xstream.annotations.XStreamAlias;
@XStreamAlias("user")
public class User {
@XStreamAlias("userId")
private String id;
private String name ;
private String age;
private String pwd;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", pwd=" + pwd + "]";
}
}
Test.java测试代码如下:
package com.test;
import com.test.domain.User;
import com.thoughtworks.xstream.XStream;
public class Test {
public static void main(String[] args) {
User user = new User();
user.setAge("11");
user.setId("1");
user.setName("zhangsan");
user.setPwd("123456");
XStream xml = new XStream();
xml.processAnnotations(User.class);
String userXml = xml.toXML(user);
System.out.println("object to xml");
System.out.println(userXml);
System.out.println("=====================================");
System.out.println("xml to object");
User u = (User) xml.fromXML(userXml);
System.out.println(u);
}
}
测试结果如下:
object to xml
<user>
<userId>1</userId>
<name>zhangsan</name>
<age>11</age>
<pwd>123456</pwd>
</user>
=====================================
xml to object
User [id=1, name=zhangsan, age=11, pwd=123456]
@XStreamAlias注解可在类与属性上使用设置名称,相当于: xstream.alias("user", User.class);
相关文章推荐
- 使用XStream是实现XML与Java对象的转换(5)--Object Stream
- xstream实现java对象和XML的互相转换
- 使用XStream是实现XML与Java对象的转换(1)--简介及入门示例
- XStream解析XML文本并用反射机制转换为对象
- 使用XStream是实现XML与Java对象的转换(6)--持久化
- android XMl 解析神奇xstream 二: 把对象转换成xml
- xstream学习,对象和xml之间转换,对象和json之间转换
- 使用 XStream 实现 Java 对象与 XML 的相互转换
- XStream解析XML文本并用反射机制转换为对象
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
- 利用XStream实现实体对象和xml文件相互转换
- java对象与xml相互转换 ---- xstream
- xStream框架完美实现Java对象和xml文档JSON、XML相互转换
- android 中XML和对象转换利器Xstream的使用
- android 中XML和对象转换利器Xstream的使用
- 使用xStream框架从JavaBean对象转换成XML文档转换成Java对象
- XStream把xml转换为多个对象组合的JavaBean例子
- android 中XML和对象转换利器Xstream的使用
- xStream完美转换XML、JSON xStream框架 xStream可以轻易的将Java对象和xml文档相互转换,而且可以修改某个特定的属性和节点名称,而且也支持json的转换; 前面有介
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件