`
我很不乖儿
  • 浏览: 9090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apache commons工具类之 betwixt

阅读更多
XML与Java对象之间相互转换。
package commons;

import java.beans.IntrospectionException;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;

import org.apache.commons.betwixt.io.BeanReader;
import org.apache.commons.betwixt.io.BeanWriter;
import org.xml.sax.SAXException;

public class TestBetwixt {
	
	public static void main(String[] args) throws IOException, SAXException{
		
		/**********************************************bean转化Xml*******************************************************/
		// 先创建一个StringWriter,我们将把它写入为一个字符串
		StringWriter outputWriter = new StringWriter();
		// Betwixt在这里仅仅是将Bean写入为一个片断  
		// 所以如果要想完整的XML内容,我们应该写入头格式  
		outputWriter.write("<?xml version='1.0' encoding='UTF-8' ?>\n");  
        // 再创建一个BeanWriter,写入我们的outputWriter
		BeanWriter beanWriter = new BeanWriter(outputWriter);
		// 配置beanWriter
		 beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);  
		 beanWriter.getBindingConfiguration().setMapIDs(false);  
		 beanWriter.enablePrettyPrint();  
		 // 如果这个地方不传入XML的根节点名,Betwixt将自己猜测是什么  
		 // 但是让我们将例子Bean名作为根节点吧  
		 try {
			beanWriter.write("user", new User("csc", 21));
		} catch (IOException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		} catch (IntrospectionException e) {
			e.printStackTrace();
		}finally{
			//输出结果  
			 System.out.println(outputWriter.toString());  
			 // Betwixt写的是片断而不是一个文档,所以不要自动的关闭掉writers或者streams,  
			//但这里仅仅是一个例子,不会做更多事情,所以可以关掉  
			 try {
				outputWriter.close();
			} catch (IOException e) {
				e.printStackTrace();
			}  
		}
		 
		 /**********************************************bean转化Xml*******************************************************/
		 
		 /**********************************************Xml转化bean*******************************************************/
		 // 先创建一个XML,由于这里仅是作为例子,所以我们硬编码了一段XML内容  
		 StringReader xmlReader = new StringReader("<?xml version='1.0' encoding='UTF-8' ?><user><age>21</age><name>csc</name></user>");
		 // 在创建一个BeanReader
		 BeanReader beanReader = new BeanReader();
		 //配置reader  
		 beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);  
		 beanReader.getBindingConfiguration().setMapIDs(false);  
		//注册beans,以便betwixt知道XML将要被转化为一个什么Bean  
		 try {
			beanReader.registerBeanClass("user", User.class);
			 //现在我们对XML进行解析  
			 User user = (User) beanReader.parse(xmlReader);  
			 //输出结果  
			 System.out.println(user); 
		} catch (IntrospectionException e) {
			e.printStackTrace();
		}  
		 
		 /**********************************************Xml转化bean*******************************************************/
	}

}



运行结果

<?xml version='1.0' encoding='UTF-8' ?>
  <user>
    <age>21</age>
    <name>csc</name>
  </user>

User [name=csc, age=21]
分享到:
评论

相关推荐

    Apache Commons 工具类介绍及简单使用 (2).pdf

    Betwixt 是 Apache Commons 中的一个工具类,提供了 XML 与 Java 对象之间相互转换的功能。通过使用 Betwixt,可以轻松地将 XML 文件转换为 Java 对象,或者将 Java 对象转换为 XML 文件。 Codec Codec 是 Apache ...

    apache-commons源码及jar文件

    Commons-Lang 提供了许多许多通用的工具类集,提供了一些java.lang中类的扩展功能 Latka Commons-Latka 是一个HTTP 功能测试包,用于自动化的QA,验收和衰减测试. Launcher Launcher 组件是一个交叉平台的Java 应用...

    commons-betwixt-0.8的相关文件

    总结来说,Apache Commons Betwixt是一个用于XML和Java对象间映射的工具,0.8版本提供了一个早期的功能集,包括基本数据类型和复杂对象的映射。开发者可以利用它来进行数据交换、序列化和反序列化操作。提供的两个...

    commons-betwixt-0.8.rar源文件及jar包

    在实际应用中,Apache Commons Betwixt可能与其他Java XML处理库(如JAXB、XStream)一起比较,选择最适合项目需求的工具。虽然Betwixt相对较为简单,但它在处理基本的XML数据绑定时仍然非常有效。对于更复杂的需求...

    Java常用类库Apache Commons工具类说明及使用实例详解

    "Apache Commons工具类详解" Apache Commons是一个开源的工具类库,提供了许多实用的工具类,帮助开发者解决平时编程经常会遇到的问题,减少重复劳动。下面是Apache Commons中的一些常用工具类的介绍: 1....

    apache commons jar包

    1. **commons-collections**:提供了一些高级数据结构和算法,如多维数组、堆、优先队列、映射和集合的工具类,以及对Java集合框架的扩展。 2. **commons-beanutils**:提供了一组实用工具类来简化JavaBeans操作,...

    java使用commons-betwixt 实现bean与xml互转

    Java中的Apache Commons Betwixt库提供了一个简单的方法来映射Java Bean对象和XML文档之间的数据,使得在处理数据交换时能轻松地实现bean到XML的转换和XML到bean的反转换。本篇文章将深入探讨如何使用Commons ...

    apache.commons所有jar包

    5. **commons-io-1.4-bin.zip**:Apache Commons IO库,包含了文件和流操作的实用工具,如文件比较、读写、过滤、转换等。 6. **commons-net-1.4.1.zip**:提供了一系列网络通信相关的类,如FTP、Telnet和NNTP协议...

    apache commons工具集代码详解

    Apache Commons工具集是一个开源的工具集,包含了许多实用的工具类,旨在解决平时编程中经常会遇到的问题,减少重复劳动。下面对Apache Commons工具集中的部分组件进行详细介绍: 1. BeanUtils:提供了对于JavaBean...

    commons-betwixt-0.5-src.zip_ObjectStringConvert_commons-betwixt_

    总的来说,Apache Commons Betwixt是一个强大的工具,用于在JavaBean和XML之间建立便捷的桥梁。通过理解和使用这个库,开发者可以更高效地管理数据,实现对象的序列化和反序列化,从而提升应用程序的灵活性和可扩展...

    apache-common最全的jar包

    9. **commons-betwixt-0.8.jar**: 是一个 XML 和 Java 对象之间的绑定工具,能够自动将 Java 对象序列化为 XML 文档,或反序列化为 Java 对象,简化了 XML 编程。 10. **commons-beanutils-1.8.3.jar**: 提供了对 ...

    betwixt详细使用说明

    这个库是 Apache Commons 项目的一部分,旨在简化对象与 XML 之间的映射过程。在本文中,我们将详细介绍 Betwixt 的使用方法、所需的依赖以及一个简单的示例。 首先,使用 Betwixt 需要导入以下三个核心库: 1. `...

    XML操作之betwixt

    1. **引入库**:你需要将`commons-betwixt-0.8.jar`文件添加到你的项目类路径中,这是使用Betwixt的前提。 2. **创建Java Bean**:定义一个Java类,包含你想要映射到XML的属性。这些属性将对应XML文档中的元素。 3...

    javabean和xml互相转换工具类以及jar包

    JavaBean和XML之间的转换在软件...在给定的资源中,`commons-betwixt-0.8.jar`提供了Betwixt库,而`Bean2xml.java`可能是实现转换的工具类,简化了开发工作。在实际项目中,根据需求和性能考虑选择合适的方法进行转换。

    commons.rar

    Apache Commons BeanUtils库提供了一些实用工具类,帮助开发者更方便地操作JavaBeans。它简化了JavaBean属性的读取和设置,支持属性的复制,以及对象和Map之间的相互转换。例如,你可以使用BeanUtils.copyProperties...

    commons所有jar包

    它还包含了一些实用工具类,用于操作和转换集合。 2. **commons-beanutils-1.8.0-bin.zip**:Apache Commons BeanUtils库简化了JavaBean对象的属性访问,提供了方便的方法来操作JavaBean属性,无需直接调用getter和...

    orgapachecommons.zip

    7. **commons-lang-2.4-bin.zip**:Apache Commons Lang的2.4版本,包含了一系列高级字符串和语言操作的工具类。 8. **commons-io-1.4-bin.zip**:Apache Commons IO的1.4版本,提供了许多与I/O相关的实用工具,如...

    webservice接口开发obj2xml.zip

    在IT行业中,Web服务接口开发...Apache Commons Betwixt提供了这样一个直观且强大的工具,使得这一过程变得简单易行。通过实践和研究提供的示例代码,开发者可以深入理解Betwixt的工作原理,并将其应用到自己的项目中。

    xml转换java对象

    Apache Commons Betwixt是Apache软件基金会的一个项目,它提供了一个用于XML到Java对象绑定的工具。通过使用Betwixt,开发者可以轻松地将XML文档解析为Java对象,或者将Java对象序列化为XML文档。这极大地简化了数据...

    Java 工具类总结目录(分享)

    - `Apache Commons Lang3`包含了大量对Java基础类型进行扩展的工具类,如`StringUtils`和`ArrayUtils`,提供了字符串和数组的处理方法,如拼接、分割、比较、填充等。 13. **SLF4J**: - Simple Logging Facade ...

Global site tag (gtag.js) - Google Analytics