123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package com.shkpr.service.alambizplugin.commtools;
- import javax.xml.bind.JAXBContext;
- import javax.xml.bind.JAXBException;
- import javax.xml.bind.Marshaller;
- import javax.xml.bind.Unmarshaller;
- import java.io.StringReader;
- import java.io.StringWriter;
- public class XMLTool {
- public static String objToXml(Object obj){
- return objToXml(obj, "UTF-8");
- }
- public static String objToXml(Object obj, String encoding) {
- StringWriter sw = new StringWriter();
- sw.append("<?xml version=\"1.0\" encoding=\""+encoding+"\"?>\n");
- try {
- JAXBContext context = JAXBContext.newInstance(obj.getClass());
- Marshaller marshaller = context.createMarshaller();
- marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
- marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);//去掉生成xml的默认报文头
- //marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
- marshaller.marshal(obj, sw);
- } catch (JAXBException e) {
- e.printStackTrace();
- }
- return sw.toString();
- }
- @SuppressWarnings("unchecked")
- public static Object xmlToObj(Class objClazz, String xmlStr) {
- Object xmlObject = null;
- try {
- JAXBContext context = JAXBContext.newInstance(objClazz);
- Unmarshaller unmarshaller = context.createUnmarshaller();
- StringReader sr = new StringReader(xmlStr);
- xmlObject = unmarshaller.unmarshal(sr);
- } catch (JAXBException e) {
- e.printStackTrace();
- }
- return xmlObject;
- }
- }
|