From 2fcd97552d16718cc7997629fd637a73a5a4483f Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:44:19 +0800
Subject: [PATCH] 删除

---
 src/main/java/com/gk/firework/Domain/Utils/JaxbUtils.java |   92 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gk/firework/Domain/Utils/JaxbUtils.java b/src/main/java/com/gk/firework/Domain/Utils/JaxbUtils.java
new file mode 100644
index 0000000..7c0ed18
--- /dev/null
+++ b/src/main/java/com/gk/firework/Domain/Utils/JaxbUtils.java
@@ -0,0 +1,92 @@
+package com.gk.firework.Domain.Utils;
+
+import javax.xml.bind.*;
+import javax.xml.transform.stream.StreamSource;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Created by Administrator on 2017/11/29.
+ */
+public class JaxbUtils <T>{
+    public static String JaxbObj2Xml (Object object,Boolean withhead){
+        String xmlString="";
+        try {
+            StringWriter sw = new StringWriter();
+            Marshaller jaxbMarshaller = null;
+            try {
+               JAXBContext jaxbContext = getContext(object.getClass());
+                jaxbMarshaller = jaxbContext.createMarshaller();
+            } catch (JAXBException e) {
+                e.printStackTrace();
+            }
+
+            jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, false); // 格式化输出
+            jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");// 编码格式,默认为utf-8
+            jaxbMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);// 是否省略xml头信息
+
+            jaxbMarshaller.marshal(object, sw);
+            xmlString=sw.toString();
+            if(withhead)
+            {
+                xmlString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + xmlString;
+            }
+        } catch (JAXBException e) {
+            e.printStackTrace();
+        }
+        return  xmlString;
+    }
+
+    public static <T> T JaxbXml2Obj(String xmlstr, Class<T> classz) throws JAXBException {
+        T req;
+        try {
+            JAXBContext context = JAXBContext.newInstance(classz);
+            Unmarshaller shaller = context.createUnmarshaller();
+
+            req = (T) shaller.unmarshal(new StringReader(xmlstr));
+        } catch (JAXBException e) {
+            throw e;
+        }
+        return  req;
+    }
+
+    public static Map<Class<?>,JAXBContext> contextMap = new ConcurrentHashMap<Class<?>,JAXBContext>();
+
+    public static String convertToXml(Object obj) throws JAXBException{
+        Class<?> clazz;
+        if (obj instanceof JAXBElement){
+            clazz = ((JAXBElement<?>)obj).getDeclaredType();
+        }else {
+            clazz = obj.getClass();
+        }
+        StringWriter sw = new StringWriter();
+        getContext(clazz).createMarshaller().marshal(obj,sw);
+        return sw.toString();
+    }
+
+    public static <T> T convertToJavaBean(String xml,Class<T>clazz)throws JAXBException{
+        StringReader reader = new StringReader(xml);
+        return getContext(clazz).createUnmarshaller().unmarshal(new StreamSource(reader),clazz).getValue();
+    }
+
+    private static JAXBContext getContext(Class<?>clazz) throws JAXBException{
+        JAXBContext context = contextMap.get(clazz);
+        if (null == context){
+            context = JAXBContext.newInstance(clazz);
+            contextMap.put(clazz,context);
+        }
+        return context;
+    }
+
+
+
+
+
+
+
+
+
+
+}

--
Gitblit v1.9.2