java对象与xml格式字符串的转换

来源:互联网 发布:天津赛象软件 编辑:程序博客网 时间:2024/05/07 13:45

第一步:导入相应的jar包



package com.xp.ur.util;import java.io.StringReader;import java.io.StringWriter;import javax.xml.bind.JAXBContext;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;/** * JaxbUitl * @authorxp */public class JaxbUtil {/** * JavaBean转换成xml * 默认编码UTF-8 * @param obj * @param writer * @return  */public static String convertToXml(Object obj) {if (obj == null) return null;return convertToXml(obj, "UTF-8");}/** * JavaBean转换成xml * @param obj * @param encoding  * @return  */public static String 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 = new StringWriter();marshaller.marshal(obj, writer);result = writer.toString();} catch (Exception e) {e.printStackTrace();}return result;}/** * xml转换成JavaBean * @param xml * @param c * @return */@SuppressWarnings("unchecked")public static <T> T converyToJavaBean(String xml, Class<T> c) {if (xml.equals("") || xml == null) return null;T t = null;try {JAXBContext context = JAXBContext.newInstance(c);Unmarshaller unmarshaller = context.createUnmarshaller();t = (T) unmarshaller.unmarshal(new StringReader(xml));} catch (Exception e) {e.printStackTrace();}return t;}}


0 0
原创粉丝点击