- 浏览: 37369 次
- 性别:
- 来自: 南京
最新评论
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 803import java.io.ByteArrayInput ... -
jaxb 和 xstream 分析
2011-02-15 20:27 2210JAXB vs XStream 这两东东本质上是有差别的,J ... -
xml与bean转换
2011-02-15 20:26 17351. XStream类实现转换 import com.t ... -
webservice for jersey
2011-02-01 11:31 1301需要如下jar支持: jersey-core-1.4.jar ... -
DOM4J实例
2011-02-01 09:23 787DOM4J是dom4j.org出品的一个开源XML解析包,它 ... -
Excel操作(poi)
2011-02-01 09:22 935在web开发中,有一个经典的功能,就是数据的导入导出 ... -
Excel操作(jxl)
2011-02-01 09:21 744java导入导出excel操作(jxl) Java ... -
连接池实现
2011-02-01 09:19 628在你项目中添加一个X ... -
获得web应用根目录
2011-02-01 09:17 3118/** * * java类获取web应用的根目录 * ... -
java文件读写
2011-02-01 09:15 624使用Java操作文本文件的方法详解 摘要: 最初java是 ... -
获得运行时类路径
2011-02-01 09:13 756Class cls = thi ... -
synchronized 用法
2011-02-01 09:09 665在java编程思想中对synchronized的 ... -
时间工具类
2011-02-01 09:07 530/** 日期类 * @date * @versi ...
相关推荐
前段时间找了好久xml与object之间的转换都没找到!最近在学习WebService,讲到JAXB!没听说过!看了才知道jdk中自带了这个功能,什么这个框架那个框架都用了!原来就在眼前你也不知道!我这儿有视频,有需要请留言!...
NULL 博文链接:https://wang-yanli.iteye.com/blog/1477681
博客连接 http://blog.csdn.net/zgf1991/article/details/7894427 使用XStream, java Object 与xml之间的转换,以及写入SD卡
simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。
Castor的使用,如何将java object转换为xml与将xml转换为java object
简介:xxoo是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包(需1.5或1.5以上JDK环境)。解压后,有一个jar包,这就是xxoo的核心包,导入到项目即可使用。里面还有一个cn文件夹,那是博主...
ObjectToXml,object类型转换为xml类型,xml类型转换为object类型
将xml文件读取转换为Object,可用于游戏开发中
NULL 博文链接:https://spdx4046.iteye.com/blog/1551572
转换为对象 xmlToObject.vo.Request(自定义) 里面还包含其他对象。 转成的对象 已JSON格式后台输出 {"body":{"class":"xmlToObject.vo.ReqBody","list":[{"class":"xmlToObject.vo.Foot","name":"红豆","rmb":"10...
NULL 博文链接:https://zw7534313.iteye.com/blog/2422138
XStream:Object与Xml字符串 互相转换 多个同名子节点以及节点属性的处理
用c#实现对象object与xml相互转换
主要介绍了详解XML,Object,Json转换与Xstream的使用的相关资料,需要的朋友可以参考下
一个简单实用的xml和对象之间互相转换的工具,具体使用请参看我博客中对simple-xml2object的解释。
//第一步:准备好要进行XML转换的OBJECT对象,并且类里的属性都要有get与Set方法; 如下: Address address1 = new Address("郑州市经三路", "450001"); Address address2 = new Address("西安市雁塔路", ...
convertXML2Object 将对象转换为XML并将XML转换为NodeJS中的对象的示例
xml转javaBean,javaBean转xml,xml标签大小写问题,CDATA的生成,以及对xml特殊符号的处理
用xstream和betwixt实现对xml、object的互相转换。直接下载到本地后导入到eclipse里可以运行。 适合初学者和项目开发的同学们。
Xml2Json转换器,使用GUI的简单转换工具(用JavaFX编写) , 用于将大型 XML文件转换为json和json to XML, 有指示进度并使用少量内存进行转换。从1.2.0 版应用程序开始, 支持从目录批量转换文件的模式。 JSON和XML的...