`

XStream xml2object 和 object2xml

    博客分类:
  • xml
 
阅读更多
首先我们把xstream-distribution-1.4.4-bin里面的jar加到编译和运行环境里。
然后,我们定义一个pojo类。注意它不需要implements java.io.Serializable

public class SexyWoman {
	private String name;
	private long high;
	private long weight;
	public static String face="pretty";
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public long getHigh() {
		return high;
	}
	public void setHigh(long high) {
		this.high = high;
	}
	public long getWeight() {
		return weight;
	}
	public void setWeight(long weight) {
		this.weight = weight;
	}
	
}



然后我们去写运行测试类。
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XStreamTest {
	public static void main(String[] args) {
		SexyWoman sw1=new SexyWoman();
		sw1.setName("maggie");
		sw1.setHigh(172);
		sw1.setWeight(65);
		sw1.face="ddd";
		String xmlContent=doPojo2Xml(sw1);
		System.out.println(xmlContent);
		System.out.println("\n\n\n");
		SexyWoman sw2=new SexyWoman();
		Object obj=doXml2Pojo(xmlContent,sw2);
		System.out.println(((SexyWoman)obj).getName());
	}

	public static String doPojo2Xml(Object obj){
		XStream xstream=new XStream(new DomDriver());
		xstream.alias(obj.getClass().getSimpleName(), obj.getClass());
		String xmlContent=xstream.toXML(obj);
		return xmlContent;
	}
	
	public static Object doXml2Pojo(String xmlContent,Object obj){
		XStream xstream=new XStream(new DomDriver());
		xstream.alias(obj.getClass().getSimpleName(), obj.getClass());
		Object getObj=xstream.fromXML(xmlContent);
		return getObj;
	}
}


最后输出

<SexyWoman>
  <name>maggie</name>
  <high>172</high>
  <weight>65</weight>
</SexyWoman>




maggie


这里可以发现 static 属性并没有被进入xml中。

这里我们要注意的是String最大长度是65xxx, 所以我们不能用太大的类和xml.否则会出问题。当然Xstream开源里有另外的api专门针对这种问题。



如果我们给她加辆车呢
public class Car implements java.io.Serializable{
	private String cardName;

	public String getCardName() {
		return cardName;
	}

	public void setCardName(String cardName) {
		this.cardName = cardName;
	}
}
public class XStreamTest {
	public static void main(String[] args) {
		SexyWoman sw1=new SexyWoman();
		sw1.setName("maggie");
		sw1.setHigh(172);
		sw1.setWeight(65);
		sw1.face="ddd";
		Car car1=new Car();
		car1.setCardName("ppo");
		sw1.setCar(car1);
		String xmlContent=doPojo2Xml(sw1);
		System.out.println(xmlContent);
		System.out.println("\n\n\n");
		SexyWoman sw2=new SexyWoman();
		Object obj=doXml2Pojo(xmlContent,sw2);
		System.out.println(((SexyWoman)obj).getName());
	}

	public static String doPojo2Xml(Object obj){
		XStream xstream=new XStream(new DomDriver());
		xstream.alias(obj.getClass().getSimpleName(), obj.getClass());
		String xmlContent=xstream.toXML(obj);
		return xmlContent;
	}
	
	public static Object doXml2Pojo(String xmlContent,Object obj){
		XStream xstream=new XStream(new DomDriver());
		xstream.alias(obj.getClass().getSimpleName(), obj.getClass());
		Object getObj=xstream.fromXML(xmlContent);
		return getObj;
	}
}



那么就输出了

<SexyWoman>
  <name>maggie</name>
  <high>172</high>
  <weight>65</weight>
  <car>
    <cardName>ppo</cardName>
  </car>
</SexyWoman>




maggie
分享到:
评论

相关推荐

    xStream转换xml和json源码

    本篇文章将深入探讨xStream如何实现Java对象与XML和JSON的相互转换,并提供详细的代码示例。 ### 1. xStream的安装与引入 首先,你需要在项目中添加xStream的依赖。如果你使用的是Maven,可以在pom.xml文件中添加...

    使用XStream, java Object 与xml之间的转换,以及写入SD卡

    XStream是一款强大的库,它使得Java对象与XML之间的转换变得简单易行。本篇文章将深入探讨如何利用XStream进行Java对象到XML的转换,并将其存储到SD卡上。 首先,XStream的核心功能在于它可以将Java对象直接转换为...

    XStream组件进行Object与XML互转用法

    XStream 的核心功能是通过`toXML()`和`fromXML()`两个方法来实现对象和XML之间的转换。首先,你需要添加必要的依赖,即 `xstream-1.3.1.jar` 到你的项目中。 ### 将对象转换为XML 1. **创建对象** - 在转换之前,...

    XStream实现Object与XML转换解决方案

    标题中的“XStream实现Object与XML转换解决方案”指的是一个Java库——XStream,它提供了一种简单的方法来序列化和反序列化Java对象到XML,反之亦然。这个库广泛用于将程序数据保存到XML文件或者从XML数据恢复对象,...

    xstream和betwixt对xml、object的互转

    这两个工具都提供了简单易用的API,帮助我们实现XML到对象(Object-to-XML)和对象到XML(XML-to-Object)的转换。 **XStream** XStream是Joe Walnes创建的一个开源库,它允许开发者以一种直观、简洁的方式在Java...

    xstream将xml文档转换成json对象

    XML(Extensible Markup Language)是一种结构化数据格式,广泛用于数据交换和配置文件,而JSON(JavaScript Object Notation)则因其简洁性和易读性,常用于前端与后端的数据交互。XStream是一个强大的Java库,它...

    XStream:Object与Xml字符串 互相转换

    XStream是一个强大的Java库,它允许开发者方便地将Java对象序列化为XML,同时也能将XML数据反...通过理解和掌握XStream的用法,开发者可以更高效地处理数据序列化需求,无论是在存储、传输还是解析XML文档的场景下。

    xml解析及使用XStream实现javaBean与xml之间的转换

    - DOM解析:Document Object Model,它一次性加载整个XML文档到内存,形成一棵树形结构,便于遍历和修改。这种方式适用于小规模的XML文件,因为内存消耗较大。 - SAX解析:Simple API for XML,基于事件驱动,逐行...

    详解XML,Object,Json转换与Xstream的使用

    总之,Xstream提供了一个强大而灵活的框架,使得XML,Object和Json之间的转换变得简单。它的易用性、稳定性和高度可定制性使其成为Java开发中的得力工具。理解并熟练使用Xstream,可以极大地提高开发效率和代码的可...

    Xstream解析xml

    在处理复杂的XML文件时,Xstream因其简单易用和灵活性而备受青睐。本篇文章将深入探讨如何利用Xstream解析XML文件,并将解析后的数据存储到MySQL数据库中。 首先,我们需要了解Xstream的基本用法。Xstream的核心...

    xstream+xmlpull xml to bean &&bean to xml

    1. xstream-1.4.jar:这是XStream的主要库文件,包含了所有必要的类和方法,用于实现XML和Java对象的相互转换。 2. kxml2-2.3.0.jar:这是一个轻量级的XML解析器,常被XStream用来作为XML读写的底层实现。KXML2提供...

    使用XStream操作xml教程

    2. 反序列化:将XML还原为Java对象 从XML字符串创建Java对象,使用`fromXML()`方法。 ```java User deserializedUser = (User) xstream.fromXML(xml); System.out.println(deserializedUser.getName()); // 输出 ...

    使用xstream解析xml,xml与pojo的双向转化,完整的java 工程

    为了方便地将XML数据与Java对象(POJO,Plain Old Java Object)之间进行转换,XStream库应运而生。本项目提供了一个完整的Java工程示例,演示了如何使用XStream实现XML到POJO以及POJO到XML的双向转化,并包含了必要...

    转载 xStream完美转换XML、JSON

    xStream是一个强大的库,它提供了一种简单的方式来序列化和反序列化Java对象到XML,反之亦然。在这个场景中,它同样能够处理JSON转换,虽然JSON不是其原生支持的格式,但通过一些额外的配置和库,如json-simple,...

    使用XStream是实现XML与Java对象的转换(5)--Object Stream

    首先,XStream是一个开源库,由Johannes Leutenegger创建,它通过简单的API提供XML序列化和反序列化。这个库的特点在于它能够将Java对象直接映射到XML,反之亦然,而无需编写大量的代码。 在开始使用XStream之前,...

    XStream在JavaBean与XML/JSON 之间相互转换

    XStream是一个开源库,它为Java对象提供了简单且直观的XML序列化和反序列化的解决方案。它不仅能够将Java对象转换成XML,反之亦然,还能支持JSON格式的转换。这个强大的工具在处理数据交换、持久化或配置文件时非常...

    XStream和Xpp3实现对象到XML的互转参考文档

    XStream和Xpp3是两个常用的库,用于实现Java对象与XML之间的转换。本文档将详细介绍如何使用XStream和Xpp3进行对象到XML的转换,并解决可能出现的问题。 首先,要使用XStream和Xpp3,你需要引入相应的库文件。在本...

    Xstream操作Xml与Json.doc

    Xstream 是一个 Java 库,用于处理 XML 文件的序列化和反序列化,同时也支持将 JavaBean 转换为 JSON 格式。它的核心理念是通过简单的 API 设计,使得 XML 序列化过程变得简洁,无需额外的映射文件或辅助类。 ### 1...

    xStream完美转换XML.docx

    总之,xStream是一个功能强大且灵活的工具,能够方便地处理Java对象与XML和JSON之间的转换,极大地简化了数据序列化和反序列化的任务,尤其是在互联网应用中,对于数据交换和存储具有很高的实用价值。

    使用XStream是实现XML与Java对象的转换(6)--持久化

    例如,`MyObject myObject = (MyObject) xstream.fromXML(new FileReader("output.xml"))`将从“output.xml”文件加载对象。 除了基本的序列化和反序列化,XStream还支持更高级的功能,如自定义转换器和命名空间...

Global site tag (gtag.js) - Google Analytics