解析html中的内容并已id赋值

解析html中的内容并已id赋值

//策略模式
@Resource
    private ApplicationContext applicationContext;
@Override
    public String fillingHTMLStr(String file, Map<String,Object> map) throws Exception {
        org.jsoup.nodes.Document doc = Jsoup.connect(file).get();
        log.info("解析html:{}",doc);
        log.info("map中的内容:{}",map);
        if (!CollectionUtils.isEmpty(map) && map.size()>0) {
            for (Map.Entry<String,Object> m : map.entrySet()) {
                String value = "";
                String key = m.getKey();
                Object values = m.getValue();
                if (!StringUtils.isEmpty(values)) {
                    value = values.toString();
                }
                Element keyAttr = doc.getElementById(key);
                if (!StringUtils.isEmpty(keyAttr) && !StringUtils.isEmpty(value)) {
                    Element valueReal = keyAttr.append(value);
                }
            }
            //保理签署
            if (!StringUtils.isEmpty(doc.getElementById(SystemEnum.ASSET_MY.getMessage()))){
                Element tableNode = doc.getElementById(SystemEnum.ASSET_MY.getMessage());
                log.info("保理签署获取tbody:{}", tableNode);
                AssetTacticsService service = (AssetTacticsService) applicationContext.getBean(SystemEnum.ASSET_MY.getMessage());
                String tdHtml = service.getValue(map);
                tableNode.append(tdHtml);
                //专项签署
            }else if (!StringUtils.isEmpty(doc.getElementById(SystemEnum.ASSET_BALING.getMessage()))){
                Element tableNode = doc.getElementById(SystemEnum.ASSET_BALING.getMessage());
                log.info("专项签署获取tbody:{}", tableNode);
                AssetTacticsService service = (AssetTacticsService) applicationContext.getBean(SystemEnum.ASSET_BALING.getMessage());
                String tdHtml = service.getValue(map);
                tableNode.append(tdHtml);
            }
        }
        log.info("赋值渲染html:{}",doc.html());
        return doc.html();
    }
	
	//这里应该是一个实现类中的方法我单拉出来了
	   public String getValue(Map<String, Object> map) {
        Object zcAssetList = map.get("zcAssetList");
        List<ZcAsset> assetList = JSON.parseArray(JSON.toJSONString(zcAssetList), ZcAsset.class);
        String tdHtml = "";
        Integer count = 0;
        for (int i = 0; assetList != null && i < assetList.size(); i++) {
            count++;
            ZcAsset pxc = assetList.get(i);
            log.info("资产list:{}",pxc);
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            tdHtml += "<tr class=\"tr1\"> " +
                    "<td class=\"count\">"+
                    count +
                    "</td><td class=\"contractName\">" +
                    "购销合同" +
                    "</td><td class=\"orderNumber\">" +
                    pxc.getOrderNumber() +
                    "</td><td class=\"vendee_signatory\">" +
                    map.get("vendee_signatory") +
                    "</td><td class=\"seller_signatory\">" +
                    map.get("seller_signatory") +
                    "</td><td class=\"invoiceNumber\">" +
                    " " +
                    "</td><td class=\"invoicePrice\">" +
                    " " +
                    "</td><td class=\"assetPrice\">" +
                    pxc.getAssetPrice() +
                    "</td><td class=\"promiseDate\">" +
                    format.format(pxc.getPromiseDate()) +
                    "</td></tr>";
        }
        log.info(tdHtml);
        return tdHtml;
    }

转载请标明原处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值