`
getclass
  • 浏览: 43923 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

两行代码轻松搞定XML和对象间相互转换. XStream 简单示例.

    博客分类:
  • XML
阅读更多

很方便,很容易,很快,心情很愉快:)

对象转String,String转对象.对象转文件,文件转对象.

 

 /**
	 * 对象转文件,文件转回对象
	 */
	@Test
	public void testFromFile() throws IOException {

		String fileName = "d:/personBObj.xml";
		OutputStream out = null;
		InputStream input = null;
		File file = new File(fileName);
		XStream xstream = initXStream();
		PersonBObj personBObj = personBObjInit();

		try {
			// 对象生成XML文件
			out = new FileOutputStream(fileName);
			xstream.toXML(personBObj, out);
			Assert.assertTrue(file.exists());

			// XML文件转对象
			input = new FileInputStream(fileName);
			PersonBObj fromFileBObj = (PersonBObj) xstream.fromXML(input);
			Assert.assertEquals("1", fromFileBObj.getContId());

		} finally {
			out.close();
			input.close();
		}

		if (file.exists()) {
			file.delete();
		}
	}

 

 

 /**
	 * 对象转String, String转回对象
	 */
	@Test
	public void testFromString() {

		XStream xStream = initXStream();

		// 对象转XML
		PersonBObj personBObj = personBObjInit();
		String xml = xStream.toXML(personBObj);
		Assert.assertNotNull(xml);

		// XML转对象
		PersonBObj fromXMLObj = (PersonBObj) xStream.fromXML(xml);
		Assert.assertEquals("1", fromXMLObj.getContId());
	}
 

 /**
	 * 初始化 XStream 对象
	 */
	private XStream initXStream() {

		XStream xstream = new XStream();

		// 以下为对象属性起别名
		xstream.alias("OrgNameBObj", OrgNameBObj.class);
		xstream.alias("ContactBObj", ContactBObj.class);
		xstream.alias("IdentifierBObj", IdentifierBObj.class);
		xstream.alias("ConteQuivBObj", ConteQuivBObj.class);
		xstream.alias("AddressBObj", AddressBObj.class);
		xstream.alias("ContactMethodBObj", ContactMethodBObj.class);
		xstream.alias("RelativePersonBObj", RelativePersonBObj.class);
		xstream.alias("OrgBObj", OrgBObj.class);
		xstream.alias("PersonBObj", PersonBObj.class);
		xstream.alias("PersonNameBObj", PersonNameBObj.class);

		xstream.aliasField("OrgNameBObjs", OrgBObj.class, "orgNameBObjs");
		xstream.aliasField("IdentifierBObjs", OrgBObj.class, "identifierBObjs");
		xstream.aliasField("ContEquivBObjs", OrgBObj.class, "contEquivBObjs");
		xstream.aliasField("AddressBObjs", OrgBObj.class, "addressBObjs");
		xstream.aliasField("ContactMethodBObjs", OrgBObj.class, "contactMethodBObjs");
		xstream.aliasField("RelativePersonBObjs", OrgBObj.class, "relativePersonBObjs");

		xstream.aliasField("PersonNameBObjs", PersonBObj.class, "personNameBObjs");
		xstream.aliasField("IdentifierBObjs", PersonBObj.class, "identifierBObjs");
		xstream.aliasField("ContEquivBObjs", PersonBObj.class, "contEquivBObjs");
		xstream.aliasField("AddressBObjs", PersonBObj.class, "addressBObjs");
		xstream.aliasField("ContactMethodBObjs", PersonBObj.class, "contactMethodBObjs");

		return xstream;
	}
 
分享到:
评论

相关推荐

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    总的来说,XStream是Java开发中处理XML序列化和反序列化的强大工具,其简单易用的API使得XML与Java对象之间的转换变得轻松而高效。通过熟练掌握XStream的使用,开发者可以更好地在Java应用中利用XML进行数据交换和...

    好用的xStream XML和JAVA对象互相转换的简单示例

    总的来说,XStream是一个强大的工具,它使得Java开发者能够轻松地在XML和Java对象之间进行转换,从而简化了数据序列化和反序列化的复杂性。通过理解和掌握XStream的使用,可以提升开发效率,让代码更加简洁易懂。在...

    xstream轻松解析xml到java对象

    以下是一个简单的示例,演示如何使用XStream进行XML与Java对象的转换: ```java import com.thoughtworks.xstream.XStream; class User { private String name; private int age; // getters and setters ...

    XStream解析XML实例

    在Java开发中,处理XML数据是一项常见的任务,XStream库提供了一个简单而强大的方式来将Java对象序列化为XML,以及从XML反序列化回Java对象。这个实例将深入探讨如何使用XStream进行XML操作。 **1. XStream简介** ...

    com.thoughtworks.xstream_1.3.0.jar

    jar包,官方版本,自测可用

    应用源码之Xstream(解决xml和对象转换问题).zip

    本教程将深入探讨如何使用Xstream在Android项目中处理XML和对象的转换问题。 1. **Xstream简介** Xstream库由Joe Walnes创建,它提供了直观且简洁的方式来映射Java对象到XML,反之亦然。它的核心思想是通过简单的...

    安卓网站交互JSONxmlWebserviceUPnP相关-xStream可以轻易的将Java对象和xml文档相互转换本实例详细介绍了运用xStream将对象转xml和xml转对象操作.zip

    xStream可以轻易的将Java对象和xml文档相互转换,本实例详细介绍了运用xStream将对象转xml和xml转对象操作.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    XStream解析xml 转换成对象案例

    本篇文章将深入探讨如何使用XStream进行XML到对象的转换,并提供一个实际的案例。 首先,理解XStream的基本工作原理是至关重要的。XStream通过映射XML节点到Java类的字段来实现对象的序列化和反序列化。这意味着你...

    Java用xStream拼接xml

    它提供了简洁、直观的API来处理XML,使得开发者可以轻松地在Java对象和XML之间进行转换。xStream的核心功能是基于对象关系映射(ORM)的概念,它自动将Java类的实例转换为XML文档,并能将XML文档转换回相应的Java...

    xstream对象与xml转换

    总之,XStream是一个强大的工具,可以帮助开发者轻松地在Java对象和XML之间进行转换。其简洁的API和自动类型转换能力使得它在处理序列化和反序列化任务时非常高效。无论你是新手还是经验丰富的开发者,了解并掌握...

    xStream转换xml和json源码

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

    XStream解析xml demo

    而XStream是一个Java库,它提供了简单且直观的方式来序列化和反序列化Java对象到XML,以及从XML回溯到Java对象。本篇文章将深入探讨XStream解析XML的示例,帮助你理解和掌握这一强大的工具。 首先,我们需要理解...

    安卓Android源码——AndroidXstream(解决xml和对象转换问题).zip

    本压缩包"安卓Android源码——AndroidXstream(解决xml和对象转换问题).zip"包含了关于如何在Android项目中使用Xstream来处理XML数据的详细示例和源代码。 Xstream是一个Java库,它能够将Java对象转换为XML,反之...

    Xstream生产xml和解析xml

    以下是一个简单的示例,展示了如何使用XStream进行Java对象到XML的转换以及反向转换: ```java package test; import com.thoughtworks.xstream.XStream; import ...

    XStream在Java对象和XML之间相互转换

    XStream是一款强大的Java库,主要用于将Java对象序列...在实际开发中,XStream的简单性和灵活性使其成为处理Java对象与XML数据之间转换的首选工具。通过合理配置和使用,可以极大地提高开发效率并简化数据处理流程。

    XStream测试Demo-xml与java对象的相互转换

    这个"XStream测试Demo-xml与java对象的相互转换"是一个实例,展示了如何利用XStream进行这两种操作。在本文中,我们将深入探讨XStream的工作原理、使用方法以及其在实际开发中的应用。 首先,XStream的核心功能是...

    Xstream生成和解析xml.rar

    在Java开发中,XML(Extensible Markup Language)作为一种标准的数据交换格式,被广泛应用于系统间的数据传输和存储。为了方便地处理XML文档,各种库应运而生,其中Xstream是一个简洁而强大的库,它提供了将Java...

    xstream 1.3.1.jar bean对象转换为xml

    总结起来,XStream 1.3.1.jar提供了一个简单易用的API,使得Java开发者能轻松地在Java Bean对象和XML之间进行转换。它简化了序列化和反序列化的过程,是许多Java项目的理想选择,特别是那些需要处理XML数据流的项目...

    com.springsource.com.thoughtworks.xstream-1.3.1.jar

    jar包,官方版本,自测可用

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

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

Global site tag (gtag.js) - Google Analytics