XStream映射生产xml文件

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("INSUREQRET")
public class PdfBaseEntity<T> {
	
	@XStreamAlias("MAIN")
	private MainEntity mainEntity;

	public MainEntity getMainEntity() {
		return mainEntity;
	}

	public void setMainEntity(MainEntity mainEntity) {
		this.mainEntity = mainEntity;
	}
	
}

import com.thoughtworks.xstream.annotations.XStreamAlias;

public class MainEntity {
	
	/**
	 * 文件唯一标识
	 */
	@XStreamAlias("FILE_ID")
	private String fileId;
	
	/**
	 * 指定模板名称
	 */
	@XStreamAlias("POLICY_TYPE")
	private String policyType;

	public String getPolicyType() {
		return policyType;
	}

	public void setPolicyType(String policyType) {
		this.policyType = policyType;
	}

	public String getFileId() {
		return fileId;
	}

	public void setFileId(String fileId) {
		this.fileId = fileId;
	}

}

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.faf.gf.cdm.bizz.comm.entity.ProtocolOnlineTemplate;
import com.faf.gf.cdm.common.Const;
import com.faf.gf.cdm.common.utils.BizNoUtil;
import com.faf.gf.cdm.pdf.base.MainEntity;
import com.faf.gf.cdm.pdf.base.PdfBaseEntity;
import com.faf.gf.cdm.receipt.CommonUtil;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.yqjr.base.framework.config.Global;
import com.yqjr.base.framework.utils.StringUtils;

/**
 * 益高,电子单证平台,pdf文件操作工具类。
 * @author zhoufance
 * @date:   2019年5月20日 下午2:40:45
 */
public class PdfUtil {
	static final String SUCCESS = "1";
	
	public static Logger logger = LoggerFactory.getLogger(PdfUtil.class);
	
	/**
	 * 生成pdf入口
	 * @param pdfBaseEntity 业务实体类
	 * @param templateId pdf模板ID
	 * @throws Exception 
	 */
	public static String GeneratePdf(PdfBaseEntity pdfBaseEntity , ProtocolOnlineTemplate protocolOnlineTemplate) throws Exception {
		String xml = returnXml(pdfBaseEntity, protocolOnlineTemplate.getEnName());
		return serialNo;
	}
	
	/**
	 * 转换xml
	 * @param pdfBaseEntity 操作实体 
	 * @param policyType 指定模板名称
	 * @return
	 * 
	 * @author zhoufance 2019.5.20
	 */
	private static String returnXml(PdfBaseEntity pdfBaseEntity , String policyType) throws Exception{
		MainEntity mainEntity = new MainEntity();
		mainEntity.setPolicyType(policyType);
		mainEntity.setFileId(BizNoUtil.get(Const.BIZZ_FEG_RECEIPT));
		pdfBaseEntity.setMainEntity(mainEntity);
		return XmlUtil.objectToXml(pdfBaseEntity, "INSUREQRET");
	}
}
package com.faf.gf.cdm.pdf.utils;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;

/**
 * xml转换工具类
 * @author zhoufance
 * @date:   2019年5月20日 下午2:40:20
 */
public class XmlUtil {
	/**
	 * 实体类转换XML 
	 * @param object 实体类
	 * @param rootNode 根节点
	 * @return
	 */
    public static String objectToXml(Object object , String rootNode) {  
        try {  
        	// 先创建一下XStream对象
        	XStream xStream = new XStream(new DomDriver());
        	// 设置根节点类的别名
        	xStream.alias(rootNode, object.getClass());
        	//使用注解修改对象名称
	        xStream.processAnnotations(object.getClass());
        	// 将Java对象序列化成XML
        	String returnXML = xStream.toXML(object);
        	returnXML = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"    + returnXML;
        	returnXML = returnXML.replace("__", "_"); 
        	return returnXML;
        } catch (Exception e) {  
            e.printStackTrace();  
        }
        return null;  
    }  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值