xml生成java对象工具类_把xml转成javabean的工具类

importjava.io.IOException;importjava.io.StringReader;importjava.io.StringWriter;importjavax.xml.bind.JAXBContext;importjavax.xml.bind.JAXBException;importjavax.xml.bind.Marshaller;importjavax.xml.bind.Unmarshaller;importcom.alipayeco.medicalinscore.common.Global;public classJaxbUtil {//工具类/*** java对象转换为xml文件

*@paramxmlPath xml文件路径

*@paramload java对象.Class

*@returnxml文件的String

*@throwsJAXBException*/

public static String beanToXml(Object obj, Class> load) throwsJAXBException {

JAXBContext context=JAXBContext.newInstance(load);

Marshaller marshaller=context.createMarshaller();

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,false);

marshaller.setProperty(Marshaller.JAXB_ENCODING, Global.ENCODING);

StringWriter writer= newStringWriter();

marshaller.marshal(obj, writer);returnwriter.toString();

}/*** xml文件配置转换为对象

*@paramxmlPath xml文件路径

*@paramload java对象.Class

*@returnjava对象

*@throwsJAXBException

*@throwsIOException*/@SuppressWarnings("unchecked")public static T xmlToBean(String xmlPath, Class load) throwsJAXBException, IOException {

JAXBContext context=JAXBContext.newInstance(load);

Unmarshaller unmarshaller=context.createUnmarshaller();return (T) unmarshaller.unmarshal(newStringReader(xmlPath));

}/*** JavaBean转换成xml

* 默认编码UTF-8

*@paramobj

*@paramwriter

*@return

*/

public staticString convertToXml(Object obj) {//return convertToXml(obj, "UTF-8");

return convertToXml(obj, "UTF-8");

}/*** JavaBean转换成xml

*@paramobj

*@paramencoding

*@return

*/

public staticString convertToXml(Object obj, String encoding) {

String result= null;try{

JAXBContext context=JAXBContext.newInstance(obj.getClass());

Marshaller marshaller=context.createMarshaller();

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);

marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);

StringWriter writer= newStringWriter();

marshaller.marshal(obj, writer);

result=writer.toString();

}catch(Exception e) {

e.printStackTrace();

}returnresult;

}/*** JavaBean转换成xml去除xml声明部分

*@paramobj

*@paramencoding

*@return

*/

public staticString convertToXmlIgnoreXmlHead(Object obj, String encoding) {

String result= null;try{

JAXBContext context=JAXBContext.newInstance(obj.getClass());

Marshaller marshaller=context.createMarshaller();

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);

marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);

marshaller.setProperty(Marshaller.JAXB_FRAGMENT,true);

StringWriter writer= newStringWriter();

marshaller.marshal(obj, writer);

result=writer.toString();

}catch(Exception e) {

e.printStackTrace();

}returnresult;

}/*** xml转换成JavaBean

*@paramxml

*@paramc

*@return

*/@SuppressWarnings("unchecked")public static T converyToJavaBean(String xml, Classc) {

T t= null;try{

JAXBContext context=JAXBContext.newInstance(c);

Unmarshaller unmarshaller=context.createUnmarshaller();

t= (T) unmarshaller.unmarshal(newStringReader(xml));

}catch(Exception e) {

e.printStackTrace();

}returnt;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值