import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
public class JaxbUtil
{
/**
* JavaBean转换成xml 默认编码UTF-8
*
* @param obj
* @param writer
* @return
*/
public static String convertToXml(Object obj)
{
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
* @throws JAXBException
*/
@SuppressWarnings("unchecked")
public static <T> T converyToJavaBean(String xml, Class<T> c) throws JAXBException
{
T t =null;
JAXBContext context =JAXBContext.newInstance(c);
Unmarshaller unmarshaller =context.createUnmarshaller();
t =(T)unmarshaller.unmarshal(new StringReader(xml));
return t;
}
}
Java与xml的相互转化(JaxbUtil)
最新推荐文章于 2023-07-14 11:32:51 发布