`
ychengIT
  • 浏览: 15664 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对象与xml互转

    博客分类:
  • xml
 
阅读更多
package test;

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;

public class Object2XML {
	/**
	 * 对象输到XML文件
	 * 
	 * @param obj
	 *            待输出的对象
	 * @param outFileName
	 *            目标XML文件的文件名
	 * @return 返回输出XML文件的路径
	 * @throws FileNotFoundException
	 * @throws UnsupportedEncodingException 
	 */

	public static String object2XML(Object obj, String outFileName) throws FileNotFoundException, UnsupportedEncodingException {
		// 构造输出XML文件的字节输出流
		File outFile = new File(outFileName);
//		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outFile));
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		XMLEncoder xmlEncoder = new XMLEncoder(bos);// 构造一个XML编辑器
		xmlEncoder.writeObject(obj);// 使用XML编码器写对象
		xmlEncoder.close();// 关闭编码器
		return new String(bos.toByteArray(),"utf-8");
	}

	/**
	 * 把XML文件解码成对象
	 * 
	 * @param inFileName输入的XML文件
	 * @return 返回生成的对象
	 * @throws FileNotFoundException
	 */
	public static Object xml2Object(String inFileName) throws FileNotFoundException {
		// 构造输入的XML文件的字节输入流
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inFileName));
		XMLDecoder xmlDecoder = new XMLDecoder(bis);// 构造一个XML解码器
		Object obj = xmlDecoder.readObject();// 使用XML解码器读对象
		xmlDecoder.close();// 关闭解码器
		return obj;
	}

	public static void main(String[] args) throws Exception {
		// 构造一个StudentBean对象
//		StudentBean student = new StudentBean();
//		student.setName("wangwu");
//		student.setGender("male");
//		student.setAge(15);
//		student.setPhone("55556666");
//
//		// 将StudentBean对象写到XML文件
//		String fileName = "AStudent.xml";
//		String s = Object2XML.object2XML(student, fileName);
//		
//		System.out.println(s);
//		// 从XML文件读StudentBean对象
//		StudentBean aStudent = (StudentBean) Object2XML.xml2Object(fileName);
//		System.out.println(aStudent.toString());
		BenefitDataResponse response = new BenefitDataResponse();
		response.setCode("111111111111111111111111111111111");
		response.setName("我我我我我我我我我我我我我我我我我我");
		String s = "afasfd@af2asfd@afas3fd@afa4sfd@afa4sfd@afa5sfd";
		response.setVal(s.split("@"));
		String fileName = "AStudent.xml";
		String ss = Object2XML.object2XML(response, fileName);
		System.out.println(ss);
	}

	
}

 

分享到:
评论

相关推荐

    JAVA对象与XML互转

    本篇将详细探讨这个主题,讲解如何使用Java进行XML与对象的互转。 一、Java对象转XML 1. **JAXB**(Java Architecture for XML Binding):这是Java标准API,用于将Java对象映射到XML文档,反之亦然。使用JAXB,我们...

    xml与javabean之间的互转

    主要用于开发中常见的xml与javabean之间的数据互转,减少重复代码的编写,支持xml对应字段中的集合数据类型(只能为list)。现不支持bean转换成xml时不指定字段所对应xml元素结点名称的情况,所有的字段必需指定生成...

    java list和xml互转例子

    本示例涉及的核心知识点是将Java中的List对象与XML文档进行相互转换。这里,我们使用的库是dom4j-1.6.1.jar,这是一个强大的Java XML处理库。 首先,让我们详细了解一下List和XML。List是Java集合框架的一部分,它...

    json和xml互转

    **JSON与XML的互转**: 1. **JSON转XML**:将JSON对象转换为XML,通常需要遍历JSON对象的结构,为每个键值对创建相应的XML元素。例如,上面的JSON对象转换为XML可能是: ```xml <key1>value1 <item>1 <item>...

    Marshaller实现Java对象与xml的互转

    Marshaller来实现Java对象与xml的互转的源代码,这是博文中用到的源码,地址:http://blog.csdn.net/y353027520dx/article/details/43446549 大家可以直接下载后运行,一起学习学习。。

    C#将List与xml互转 支持简单类型

    C#将List与xml互转 支持简单类型 list转xml xml转list

    json_xml互转jar

    本文将探讨JSON与XML之间的转换,并围绕“json_xml互转jar”这个主题,介绍相关的技术知识。 首先,我们来看JSON。JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于...

    json报文与XML互转

    本文将深入讲解如何在Java环境中将Java对象与JSON报文和XML报文进行转换,并讨论两者之间的互转。 首先,JSON以其简洁和易于解析的特性,成为了现代Web API首选的数据交换格式。它基于JavaScript语法,允许我们以...

    XML和类对象互转 (java) 并含有测试例子

    本篇将详细阐述如何在Java中实现XML与类对象的互转,以及提供相关的测试示例。 首先,我们需要理解XML的基本概念。XML是一种用于标记数据的语言,它具有自我描述性,可以清晰地组织和表示数据结构。在Java中,我们...

    xml和java对象互转

    总结来说,"xml和java对象互转"涉及使用如XStream这样的库来方便地在XML和Java对象之间进行数据转换,这对于在Java应用程序中处理和交换XML数据是至关重要的。通过理解这个过程,开发者可以更高效地管理数据,并实现...

    JAVA对象与XML相互转化DEMO

    本示例"JAVA对象与XML相互转化DEMO"聚焦于如何在Java中实现对象与XML之间的互转,这对于理解和处理数据交换至关重要。 首先,Java中实现XML到对象的转换主要依赖于JAXB(Java Architecture for XML Binding)。JAXB...

    c# XML 与实体相互转换 源代码

    这里我们将详细探讨如何在C#中实现XML与实体对象的相互转换,并基于提供的源代码进行讨论。 首先,XML到实体对象的转换通常涉及XML序列化。在C#中,我们可以使用`System.Xml.Serialization`命名空间中的`...

    xml object 互转

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在数据交换、...而XML对象的互转技术则为开发者提供了灵活的数据处理手段,无论是处理配置文件、API交互还是数据存储,都有其独特的应用场景。

    javaBean 与 xml 互转

    在实际项目中,你可能会创建一个通用的工具类,包含上述方法,以便在任何需要JavaBean和XML互转的地方使用。在提供的`clientDemo`文件中,可能包含了这样的工具类示例,可以进一步研究和理解。 总结来说,JavaBean...

    Java与xml互转

    Java与XML互转是软件开发中常见的数据交换方式,特别是在集成不同系统或者处理配置文件时。XML因其结构化的特性,可以很好地表示复杂的数据结构。在Java中,通过使用Java Architecture for XML Binding (JAXB) 框架...

    C#将List与xml互转_支持简单类型.rar

    这个压缩包"**C#将List与xml互转_支持简单类型.rar**"包含了一个示例文本文件"**C#将List与xml互转_支持简单类型.txt**"和一个可能用于测试的数据文件"**1.xls**"。 首先,让我们理解List和XML的基本概念。List是...

    xml报文和java对象互相转换 相关jar包和测试代码

    xml报文和java对象互相转换 相关jar包和测试代码,可以与castor插件java对象和XML自动绑定maping文件生成和java对象一键生成工具1.2(https://download.csdn.net/download/kemoing/10864595)完美配合使用

    xml与json互转工具类

    在实际应用中,XML与JSON的互转有以下几种常见的场景: 1. **Web服务交互**:许多API使用JSON作为默认的数据交换格式,但有时客户端或服务器端可能需要处理XML数据,此时就需要进行转换。 2. **存储和序列化**:在...

    castor :Java与xml互转示例---代码

    本文将深入探讨如何使用Castor在Java和XML之间进行互转,并通过代码示例来阐述其工作原理。 ### 1. Castor简介 Castor是基于Java的,它通过生成Java类来解析XML文档,或者将Java对象转换为XML。它的核心功能包括:...

    使用JAXB完成JAVAbean与xml互转

    总的来说,JAXB是Java平台中一个强大且灵活的工具,它极大地简化了XML数据与Java对象之间的交互。通过学习和掌握JAXB,开发者可以更高效地处理XML数据,提高开发效率,同时降低出错的可能性。在提供的压缩包文件`...

Global site tag (gtag.js) - Google Analytics