您的位置 首页 java

JAXB之JavaBean转换成xml(包含泛型)

基于JAXB的 javaBean 转换xml工具类,当javaBean中使用 泛型 时,

     /**
     * JavaBean转换成xml(包含泛型)
     * @param obj
     * @param c 泛型具体实现类
     * @param encoding
     * @return
     */    public  static  String convertToXml(Object obj, Class c, String encoding) {
         String  result = null;
        try {
            JAXBContext context = JAXBContext.newInstance(obj.getClass(), c);
            Marshaller marshaller = context.createMarshaller();
            // Marshaller.JAXB_FORMATTED_OUTPUT 决定是否在转换成xml时同时进行格式化(即按标签自动换行,否则即是一行的xml)
            marshaller. setProperty (Marshaller.JAXB_FORMATTED_OUTPUT,  Boolean .TRUE);
            // Marshaller.JAXB_ encoding  xml的编码方式
            marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
            // 去掉生成xml的默认报文头
            marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
            StringWriter writer = new StringWriter();
            writer.append("<?xml version=\"1.0\" encoding=\"").append(encoding).append("\"?>").append("\n");
            marshaller.marshal(obj, writer);
            result = writer.toString();
        } catch ( Exception  e) {
            e.printStackTrace();
        }
        return result;
    }
// 测试类代码
 Request Document requestDocument = new RequestDocument<DrawerRegisterDto>();
 requestDocument.setBody(drawerRegisterDto);
// beanToxml(包含泛型)
 System.out.println(JaxbUtil.convertToXml(requestDocument,DrawerRegisterDto.class));  

文章来源:智云一二三科技

文章标题:JAXB之JavaBean转换成xml(包含泛型)

文章地址:https://www.zhihuclub.com/193766.shtml

关于作者: 智云科技

热门文章

网站地图