需要的JAR包:
- xstream-1.4.2.jar
- xmlpull-1.1.31.jar
- xpp3_min-1.1.4.jar
示例代码:
package xstream; public class Address { private String addType; private String place; public Address(String addType, String place){ this.addType = addType; this.place = place; } public String getAddType() { return addType; } public void setAddType(String addType) { this.addType = addType; } public String getPlace() { return place; } public void setPlace(String place) { this.place = place; } public String toString(){ StringBuffer strBuffer = new StringBuffer(); strBuffer.append("Address").append("\n"); strBuffer.append("addType = ").append(addType).append("\n"); strBuffer.append("place = ").append(place).append("\n"); return strBuffer.toString(); } }
package xstream; import java.util.Iterator; import java.util.List; public class Addresses { private List<Address> listAdd; public Addresses(List<Address> listAdd){ this.listAdd = listAdd; } public List<Address> getListAdd() { return listAdd; } public void setListAdd(List<Address> listAdd) { this.listAdd = listAdd; } public String toString(){ StringBuffer strBuffer = new StringBuffer(); strBuffer.append("Addresses: ").append("\n"); for(Iterator<Address> it = listAdd.iterator(); it.hasNext();){ Address add = (Address)it.next(); strBuffer.append(add.toString()); } strBuffer.append("\n"); return strBuffer.toString(); } }
package xstream; public class Person { private String name; private String sex; private String tel; private Addresses addes; public Person(Addresses addes, String name, String sex, String tel){ this.addes = addes; this.name = name; this.sex = sex; this.tel = tel; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public Addresses getAddes() { return addes; } public void setAddes(Addresses addes) { this.addes = addes; } public String toString(){ StringBuffer strBuffer = new StringBuffer(); strBuffer.append("Person").append("\n"); strBuffer.append("name = ").append(name).append("\n"); strBuffer.append("sex = ").append(sex).append("\n"); strBuffer.append("tel = ").append(tel).append("\n"); strBuffer.append("addes = ").append(addes.toString()).append("\n"); return strBuffer.toString(); } }
package xstream; import java.util.Iterator; import java.util.List; public class Persons { private String type; private List<Person> listPerson; public Persons(List<Person> listPerson, String type){ this.listPerson = listPerson; this.type = type; } public String getType() { return type; } public void setType(String type) { this.type = type; } public List<Person> getListPerson() { return listPerson; } public void setListPerson(List<Person> listPerson) { this.listPerson = listPerson; } public String toString(){ StringBuffer strBuffer = new StringBuffer(); strBuffer.append("Persons:").append("\n"); strBuffer.append("type = ").append(type).append("\n"); for(Iterator<Person> it = listPerson.iterator(); it.hasNext();){ Person person = (Person)it.next(); strBuffer.append(person.toString()); } strBuffer.append("\n"); return strBuffer.toString(); } }
package xstream; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringWriter; import java.util.ArrayList; import java.util.List; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import com.thoughtworks.xstream.XStream; public class XStreamDemo { public static void main(String[] args) { testXML2Bean(); } public static void testXML2Bean(){ System.out.println("将下面的XML对象转换为Bean \n"); XStream xstream = new XStream(); xstream.alias("address", Address.class); xstream.alias("addresses", Addresses.class); xstream.alias("person", Person.class); xstream.alias("persons", Persons.class); String xml = readXMLtoObject("d:\\XStream.xml"); Persons persons = (Persons)xstream.fromXML(xml); System.out.println(persons.toString()); } public static void testBean2XML(){ System.out.println("将下面的Java对象转换为XML! \n"); XStream xstream = new XStream(); xstream.alias("address", Address.class); xstream.alias("addresses", Addresses.class); xstream.alias("person", Person.class); xstream.alias("persons", Persons.class); Persons persons = getPersons(); System.out.println(persons.toString()); String xml = xstream.toXML(persons); writeXML2file(xml, "d:\\XStream.xml"); } /** * Structure a person object * @return */ public static Persons getPersons(){ Address add1 = new Address("宿舍", "苏州工业园区菁英公寓"); Address add2 = new Address("公司", "苏州工业园区创意产业园"); List<Address> addList1 = new ArrayList<Address>(); addList1.add(add1); addList1.add(add2); Address add3 = new Address("宿舍", "苏州工业园区凤凰城"); Address add4 = new Address("公司", "苏州工业园区万龙智能开关股份有限公司"); List<Address> addList2 = new ArrayList<Address>(); addList2.add(add3); addList2.add(add4); Addresses addes1 = new Addresses(addList1); Addresses addes2 = new Addresses(addList2); Person person1 = new Person(addes1, "Wei", "Man", "123456789"); Person person2 = new Person(addes2, "Juan", "Woman", "987654321"); List<Person> personList = new ArrayList<Person>(); personList.add(person1); personList.add(person2); Persons persons = new Persons(personList, "001号家庭"); return persons; } /** * Write XML string into XML file * @param xml * @param filePath */ public static void writeXML2file(String xml, String filePath){ try { FileWriter fileWriter = new FileWriter(filePath); fileWriter.write(xml); if(fileWriter != null) fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } } /** * Read XML file into string * @param filePath * @return */ public static String readXMLtoObject(String filePath){ try { BufferedReader bufferedReader = new BufferedReader(new FileReader(filePath)); StringBuffer strBuffer = new StringBuffer(); String line = bufferedReader.readLine(); while(line != null){ strBuffer.append(line); line = bufferedReader.readLine(); } if(bufferedReader != null) bufferedReader.close(); return strBuffer.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } }
相关推荐
XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...
XStream 是一个流行的 Java 库,用于将对象序列化为 XML 和从 XML 反序列化回对象。这个库广泛应用于各种 Java 应用程序,尤其是那些需要在网络间传输或存储对象数据的情况。在标题提到的 "xstream1.4.15.JAR" 文件...
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
《XStream详解与应用》 XStream是一款强大的Java库,用于将对象序列化为XML,同时也能从XML数据中反序列化回对象。在标题"xstream-1.4.2.jar"中,我们看到的是XStream的一个特定版本——1.4.2。这个版本包含了...
最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...
XStream库提供了一个简单、直观的方式来实现这种转换,使得XML序列化和反序列化变得非常方便。本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一...
XStream是一款强大的Java库,主要用于将Java对象序列化为XML,以及将XML反序列化回Java对象。在Java开发中,这种能力对于数据持久化、网络传输或配置存储等场景非常有用。标题中的"xstream-1.4.8最齐全的jar包"表明...
XStream则是一个Java库,用于将Java对象序列化为XML,以及将XML反序列化回Java对象。这个过程在处理数据交换或持久化时非常有用,尤其是在Web服务和API中。当我们需要在SpringMVC中返回XML响应时,可以结合使用...
XStream 是一个强大的 Java 库,它允许程序员将 Java 对象序列化为 XML,反之亦然。这个压缩包“xstream-1.4.8的jar包、源码、说明文档.zip”包含了 XStream 的核心组件,使得用户可以深入了解其工作原理并进行定制...
- 创建XStream实例:`XStream xstream = new XStream();` - 配置XStream:可设置命名空间、类型别名、日期格式等,如`xstream.alias("user", User.class);` - 将JavaBean转换为XML:`String xml = xstream.toXML...
"xstream.jar及其他依赖jar包"是解决这一问题的重要工具,它包括了xstream-1.4.10.jar、xpp3-1.1.4c.jar和xmlpull_1_0_5.jar这三个文件。这些jar包提供了全面的Java对象到XML以及XML到Java对象的转换功能,简化了...
Oracle Database XStream Guide 11g Release 2 (11.2)-302 Oracle Database XStream 是 Oracle 公司推出的一个数据捕获和事件处理工具,旨在帮助用户实时捕获和处理数据库中的数据变化。下面是 Oracle Database ...
XStream是一款强大的Java库,用于将Java对象序列化为XML,反之亦然。这个库的主要优点在于其简单易用的API和对复杂对象图的处理能力。在标题中提到的"Xstream相关的jar包",是指为了使用XStream库,需要引入的依赖...
当需要将数据转换为XML格式以便于传输或处理时,工具如xStream就显得尤为重要。Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream...
**XStream 1.4.11 jar包详解** XStream 是一个强大的 Java 库,它提供了一种简单且高效的方式来序列化和反序列化 Java 对象为 XML,反之亦然。这个工具库的设计目标是使得 XML 和 Java 对象之间的转换变得极其简单...
在Java开发中,数据序列化和反序列化是常见的需求,XStream库提供了一个方便的解决方案。XStream是一个用于XML、JSON和HTML的Java库,它能够将Java对象转化为XML,反之也能将XML数据还原为Java对象。在这个场景中,...
《XStream解析依赖包详解》 在Java开发中,数据序列化是一个不可或缺的环节,它使得对象的状态可以被保存和恢复。XStream是一款强大的Java库,用于将Java对象转换为XML,反之亦然,极大地简化了序列化和反序列化的...
**XStream 概述** XStream 是一个 Java 库,用于将对象序列化为 XML,以及从 XML 反序列化回对象。它提供了一种简单而直观的方式来处理 XML 数据,使得 XML 文档与 Java 对象之间的转换变得轻而易举。这个“xStream...
**XStream 概述** XStream 是一个功能强大的 Java 库,主要负责对象与 XML 之间的序列化和反序列化工作。它以其简洁的API、无需繁琐的配置映射、高效的性能以及对类结构的宽松要求而受到青睐。XStream 的核心特性...
《XStream 1.3.1:Java对象到XML的高效转换工具》 XStream是一款强大的Java库,它能够将Java对象序列化为XML,并能从XML反序列化回Java对象。这个“xstream-1.3.1.zip”文件包含了一个名为“xstream-1.3.1.jar”的...