标签:style blog http color io os ar java for
Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。是一种xml与object映射绑定技术标准。
JDK5以下开发需要的jar包:activation.jar、jaxb-api.jar、 jaxb-impl.jar、 jsr173-api.jar
JDK6以上版本已经集成JAXB2的JAR,在目录{JDK_HOME}/jre/lib/rt.jar中。
@XmlAccessorType 注解 的枚举常量值说明:
代码片段:
* xml字符串 转 pojo * * @param t * @param xmlStr * @return */ @SuppressWarnings("rawtypes") public static Object jaxbReadXml(Class cls, String xmlStr) { ByteArrayInputStream stream = null; try { JAXBContext context = JAXBContext.newInstance(cls); stream = new ByteArrayInputStream(xmlStr.getBytes("utf-8")); Unmarshaller um = context.createUnmarshaller(); return um.unmarshal(stream); } catch (Exception e) { e.printStackTrace(); logger.error("----xml转对象出错:"+e.getMessage()); } finally { if (stream != null) { try { stream.close(); } catch (Exception e) { e.printStackTrace(); } } } return null; } @SuppressWarnings("rawtypes") public static Object jaxbReadXml(Class cls, byte[] bs) { return jaxbReadXml(cls, new ByteArrayInputStream(bs)); } @SuppressWarnings("rawtypes") public static Object jaxbReadXml(Class cls, InputStream in) { try { JAXBContext context = JAXBContext.newInstance(cls); Unmarshaller um = context.createUnmarshaller(); return um.unmarshal(in); } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (Exception e) { e.printStackTrace(); } } } return null; } /** * pojo 转 xml字符串 * * @param pojo * @return */ public static <T> String jaxbWriteXml(T pojo) { StringWriter out = null; String xmlStr = null; try { JAXBContext context = JAXBContext.newInstance(pojo.getClass()); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); out = new StringWriter(); marshaller.marshal(pojo, out); xmlStr = out.toString(); // System.out.println(xmlStr); } catch (Exception e) { e.printStackTrace(); logger.error("----对象转xml出错:"+e.getMessage()); } finally { if (out != null) { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } return xmlStr; }
标签:style blog http color io os ar java for
原文地址:http://blog.csdn.net/wuseyukui/article/details/40398725