XmlUtils.java 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package com.wechat.common.utils;
  2. import java.io.StringReader;
  3. import java.io.StringWriter;
  4. import javax.xml.bind.JAXBContext;
  5. import javax.xml.bind.JAXBException;
  6. import javax.xml.bind.Marshaller;
  7. import javax.xml.bind.Unmarshaller;
  8. public class XmlUtils extends BaseUtils{
  9. /**
  10. * XML转成object
  11. *
  12. * @param xml
  13. * @return
  14. */
  15. @SuppressWarnings("unchecked")
  16. public static <T> T xml2obj(String xml, Class<T> classOfT) {
  17. try {
  18. JAXBContext jaxbContext = JAXBContext.newInstance(classOfT);
  19. Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
  20. return (T)jaxbUnmarshaller.unmarshal(new StringReader(xml));
  21. } catch (JAXBException ex) {
  22. log.error(ex);
  23. return null;
  24. }
  25. }
  26. public static String obj2xml(Object obj) {
  27. try {
  28. JAXBContext context = JAXBContext.newInstance(obj.getClass());
  29. Marshaller marshaller = context.createMarshaller();
  30. StringWriter writer = new StringWriter();
  31. marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
  32. marshaller.marshal(obj, writer);
  33. return writer.toString();
  34. } catch (JAXBException ex) {
  35. log.error(ex);
  36. return null;
  37. }
  38. }
  39. }