- 浏览: 38356 次
- 性别:
- 来自: 南京
最新评论
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
/*
*
* The XML File Reader by Object
*/
public final class XmlReader {
private static String xmlCoding = "UTF-8";
@SuppressWarnings("unchecked")
private static Marshaller createMarshallerByType(Class type) {
Marshaller mar = null;
try {
JAXBContext jax = JAXBContext.newInstance(type);
mar = jax.createMarshaller();
} catch (Exception e) {
e.printStackTrace();
}
return mar;
}
@SuppressWarnings("unchecked")
private static Unmarshaller createUnMarshallerByType(Class type) {
Unmarshaller unMar = null;
try {
JAXBContext jax = JAXBContext.newInstance(type);
unMar = jax.createUnmarshaller();
} catch (Exception e) {
e.printStackTrace();
}
return unMar;
}
/**
* parse XML Object to XML String
*
* @param obj
* @return
*/
public static String parseObjectXmlData(Object obj) {
String backXml = null;
ByteArrayOutputStream baos = null;
try {
baos = new ByteArrayOutputStream();
Marshaller mar = createMarshallerByType(obj.getClass());
mar.marshal(obj, baos);
//backXml = baos.toString();
backXml = new String(baos.toByteArray(), xmlCoding);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return backXml;
}
/***
* if enCoding is null ,the encoding is UTF-8
*
* @param obj
* @param enCoding
* @return
*/
public static String parseObjectXmlData(Object obj, String enCoding) {
String backXml = null;
ByteArrayOutputStream baos = null;
try {
if (enCoding != null) {
xmlCoding = enCoding;
}
baos = new ByteArrayOutputStream();
Marshaller mar = createMarshallerByType(obj.getClass());
mar.marshal(obj, baos);
backXml = baos.toString();
backXml = new String(baos.toByteArray(), xmlCoding);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return backXml;
}
/**
*
* default xmlCoding is UTF-8
*
* @param type
* @param xmlData
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObject(Class type, String xmlData) {
if (xmlData == null || xmlData.trim().length() == 0) {
return null;
}
ByteArrayInputStream bais = null;
try {
Unmarshaller unMar = createUnMarshallerByType(type);
bais = new ByteArrayInputStream(xmlData.getBytes(xmlCoding));
return unMar.unmarshal(bais);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bais != null) {
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
/**
* get data from xml
*
* @param type
* @param xmlData
* @param enCoding
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObject(Class type, String xmlData,
String enCoding) {
if (xmlData == null || xmlData.trim().length() == 0) {
return null;
}
ByteArrayInputStream bais = null;
try {
xmlCoding = enCoding;
Unmarshaller unMar = createUnMarshallerByType(type);
bais = new ByteArrayInputStream(xmlData.getBytes(xmlCoding));
return unMar.unmarshal(bais);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bais != null) {
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
/**
* parse XML Object to XML File
*
* @param obj
* @return
*/
public static boolean parseObjectXmlFile(Object obj) {
FileOutputStream output = null;
try {
String xml = parseObjectXmlData(obj);
output = new FileOutputStream(obj.getClass().getName().concat(".xml"));
output.write(xml.getBytes(xmlCoding));
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if(output != null){
try {
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return true;
}
/**
* get data from xml by path
* @param type
* @param xmlPath
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObjectByPath(Class type, String xmlPath) {
if (xmlPath == null || xmlPath.trim().length() == 0) {
return null;
}
InputStream is = null;
try {
is = new FileInputStream(xmlPath);
byte[] b = new byte[is.available()];
is.read(b);
String xmlData = new String(b,xmlCoding);
return parseXmlDataObject(type,xmlData);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
}
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
/*
*
* The XML File Reader by Object
*/
public final class XmlReader {
private static String xmlCoding = "UTF-8";
@SuppressWarnings("unchecked")
private static Marshaller createMarshallerByType(Class type) {
Marshaller mar = null;
try {
JAXBContext jax = JAXBContext.newInstance(type);
mar = jax.createMarshaller();
} catch (Exception e) {
e.printStackTrace();
}
return mar;
}
@SuppressWarnings("unchecked")
private static Unmarshaller createUnMarshallerByType(Class type) {
Unmarshaller unMar = null;
try {
JAXBContext jax = JAXBContext.newInstance(type);
unMar = jax.createUnmarshaller();
} catch (Exception e) {
e.printStackTrace();
}
return unMar;
}
/**
* parse XML Object to XML String
*
* @param obj
* @return
*/
public static String parseObjectXmlData(Object obj) {
String backXml = null;
ByteArrayOutputStream baos = null;
try {
baos = new ByteArrayOutputStream();
Marshaller mar = createMarshallerByType(obj.getClass());
mar.marshal(obj, baos);
//backXml = baos.toString();
backXml = new String(baos.toByteArray(), xmlCoding);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return backXml;
}
/***
* if enCoding is null ,the encoding is UTF-8
*
* @param obj
* @param enCoding
* @return
*/
public static String parseObjectXmlData(Object obj, String enCoding) {
String backXml = null;
ByteArrayOutputStream baos = null;
try {
if (enCoding != null) {
xmlCoding = enCoding;
}
baos = new ByteArrayOutputStream();
Marshaller mar = createMarshallerByType(obj.getClass());
mar.marshal(obj, baos);
backXml = baos.toString();
backXml = new String(baos.toByteArray(), xmlCoding);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (baos != null) {
try {
baos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return backXml;
}
/**
*
* default xmlCoding is UTF-8
*
* @param type
* @param xmlData
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObject(Class type, String xmlData) {
if (xmlData == null || xmlData.trim().length() == 0) {
return null;
}
ByteArrayInputStream bais = null;
try {
Unmarshaller unMar = createUnMarshallerByType(type);
bais = new ByteArrayInputStream(xmlData.getBytes(xmlCoding));
return unMar.unmarshal(bais);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bais != null) {
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
/**
* get data from xml
*
* @param type
* @param xmlData
* @param enCoding
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObject(Class type, String xmlData,
String enCoding) {
if (xmlData == null || xmlData.trim().length() == 0) {
return null;
}
ByteArrayInputStream bais = null;
try {
xmlCoding = enCoding;
Unmarshaller unMar = createUnMarshallerByType(type);
bais = new ByteArrayInputStream(xmlData.getBytes(xmlCoding));
return unMar.unmarshal(bais);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bais != null) {
try {
bais.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
/**
* parse XML Object to XML File
*
* @param obj
* @return
*/
public static boolean parseObjectXmlFile(Object obj) {
FileOutputStream output = null;
try {
String xml = parseObjectXmlData(obj);
output = new FileOutputStream(obj.getClass().getName().concat(".xml"));
output.write(xml.getBytes(xmlCoding));
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if(output != null){
try {
output.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return true;
}
/**
* get data from xml by path
* @param type
* @param xmlPath
* @return
*/
@SuppressWarnings("unchecked")
public static Object parseXmlDataObjectByPath(Class type, String xmlPath) {
if (xmlPath == null || xmlPath.trim().length() == 0) {
return null;
}
InputStream is = null;
try {
is = new FileInputStream(xmlPath);
byte[] b = new byte[is.available()];
is.read(b);
String xmlData = new String(b,xmlCoding);
return parseXmlDataObject(type,xmlData);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return null;
}
}
发表评论
-
xml与对象转换
2011-09-13 13:36 845import java.io.ByteArrayInput ... -
jaxb 和 xstream 分析
2011-02-15 20:27 2249JAXB vs XStream 这两东东本质上是有差别的,J ... -
xml与bean转换
2011-02-15 20:26 17641. XStream类实现转换 import com.t ... -
webservice for jersey
2011-02-01 11:31 1331需要如下jar支持: jersey-core-1.4.jar ... -
DOM4J实例
2011-02-01 09:23 819DOM4J是dom4j.org出品的一个开源XML解析包,它 ... -
Excel操作(poi)
2011-02-01 09:22 967在web开发中,有一个经典的功能,就是数据的导入导出 ... -
Excel操作(jxl)
2011-02-01 09:21 776java导入导出excel操作(jxl) Java ... -
连接池实现
2011-02-01 09:19 655在你项目中添加一个X ... -
获得web应用根目录
2011-02-01 09:17 3155/** * * java类获取web应用的根目录 * ... -
java文件读写
2011-02-01 09:15 653使用Java操作文本文件的方法详解 摘要: 最初java是 ... -
获得运行时类路径
2011-02-01 09:13 785Class cls = thi ... -
synchronized 用法
2011-02-01 09:09 695在java编程思想中对synchronized的 ... -
时间工具类
2011-02-01 09:07 553/** 日期类 * @date * @versi ...
相关推荐
在IT领域,Object-XML文件的相互转换是一个重要的主题,特别是在数据存储、配置管理以及网络通信中。XML(可扩展标记语言)作为一种结构化的数据表示方式,被广泛用于跨平台的数据交换。而对象(Object)是面向对象...
在编程领域,Object与XML之间的转换是常见的数据处理任务,特别是在数据交换、持久化存储或者网络通信中。Object转XML和XML转Object的过程涉及到对象序列化和反序列化的概念。 对象序列化是将一个对象的状态转化...
simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。
本教程将详细讲解如何将XML文件读取并转换为Object,以便在游戏开发中更有效地操作数据。 1. XML基础 XML是一种标记语言,它通过标签来描述数据的结构和内容。例如,一个简单的XML文件可能如下所示: ```xml ...
前段时间找了好久xml与object之间的转换都没找到!最近在学习WebService,讲到JAXB!没听说过!看了才知道jdk中自带了这个功能,什么这个框架那个框架都用了!原来就在眼前你也不知道!我这儿有视频,有需要请留言!...
标题中的“XStream实现Object与XML转换解决方案”指的是一个Java库——XStream,它提供了一种简单的方法来序列化和反序列化Java对象到XML,反之亦然。这个库广泛用于将程序数据保存到XML文件或者从XML数据恢复对象,...
本篇文章将深入探讨如何使用JAXB进行XML到Object以及Object到XML的转换。 一、JAXB简介 JAXB是Java平台标准版(Java SE)的一部分,提供了一种自动的方式来绑定XML Schema到Java类,使得XML文档可以被Java对象解析...
- `Castor`:另一个强大的Java对象与XML数据绑定工具,支持XML到Java对象以及Java对象到XML的双向转换。 5. **XML与JSON对比**: - JSON通常被认为比XML更简洁,更适合网络传输,因为它的语法更接近编程语言,...
XStream是一款强大的库,它使得Java对象与XML之间的转换变得简单易行。本篇文章将深入探讨如何利用XStream进行Java对象到XML的转换,并将其存储到SD卡上。 首先,XStream的核心功能在于它可以将Java对象直接转换为...
《简单实用:XML与对象之间的转换工具——simple-xml2object-1.0.0》 在信息技术领域,数据交换和存储的方式多种多样,其中XML(eXtensible Markup Language)因其结构化、可扩展性及跨平台特性,被广泛用于数据...
它也支持将JSON数据转换为XML,这与我们的转换任务相符。 3. **xstream-1.3.1.jar**:XStream是另一个Java库,它提供了一种简单的方式来序列化和反序列化Java对象为XML。在XML到JSON转换过程中,XStream可能首先...
- `xmlread`: 这个函数用于从XML文件中读取数据,返回一个XML DOM(Document Object Model)对象。DOM是一种树形结构,表示XML文档的所有元素和属性。 - `xmlstruct`: 该函数将DOM对象转换为Matlab结构体,使得数据...
Castor是一个开源的数据绑定框架,它允许Java开发者在Java对象和XML之间进行无缝...在实际项目中,根据具体需求选择合适的映射策略和优化手段,可以充分利用Castor的功能,实现灵活且高效的Java对象与XML之间的转换。
这里我们将详细探讨如何在C#中实现XML与实体对象的相互转换,并基于提供的源代码进行讨论。 首先,XML到实体对象的转换通常涉及XML序列化。在C#中,我们可以使用`System.Xml.Serialization`命名空间中的`...
3. **数据交换**:XMLSpy还支持不同数据格式间的转换,比如XML与JSON(JavaScript Object Notation)之间的转换,这在Web服务和API开发中非常有用。 4. **XML Schema设计**:XMLSpy提供XML Schema设计工具,帮助...
总的来说,`convertXML2Object`库为Node.js开发者提供了一种简单易用的方式,来处理XML与JavaScript对象之间的转换,极大地提高了开发效率。在实际开发中,你可以根据项目需求灵活运用这些功能。如果你需要更复杂的...
简介:xxoo是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包(需1.5或1.5以上JDK环境)。解压后,有一个jar包,这就是xxoo的核心包,导入到项目即可使用。里面还有一个cn文件夹,那是博主...
XML与JSON之间的转换在很多场景下是必要的,例如,当一个系统接收或发送的数据格式为XML,但内部处理或接口调用需要JSON格式时。以下将详细讨论这两种格式的转换方法。 ### XML转JSON 在Java中,可以使用各种库来...
ObjectToXml,object类型转换为xml类型,xml类型转换为object类型
这篇博客文章“java中xml与object的应用 (XMLEncoder应用)”很可能探讨了如何使用`XMLEncoder`来将Java对象转换为XML文档。 首先,让我们了解`XMLEncoder`的基本用法。`XMLEncoder`是`java.beans`包的一部分,它...