把拼接好的xml字符串压缩成zip格式

    xiaoxiao2021-03-25  170

    第一次实现这个功能能,可能很多不足,暂时记录下来,

    //拼接xml private void getXmlInfo(String handle) throws Exception {         StringBuilder sb = new StringBuilder();        sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");          sb.append("<root xmlns=\"http://www.cdi.cn/handle\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">");          sb.append("<ListRecords metedataStandard=\"20170306161400\">");          sb.append("<record>");          sb.append("<header>");          sb.append("<identifier>"+handle+"/"+fromhospital+"."+page+"</identifier>");          sb.append("<metadataOption>0</metadataOption>");          sb.append("<validity>-1</validity>");          sb.append("</header>");          sb.append("<metadata>");                if (name != null && !"".equals(name)) {         sb.append("<name><value><![CDATA["+name+"]]></value></name>");   }        if (sex != null && !"".equals(sex)) {         sb.append("<sex><value><![CDATA["+sex+"]]></value></sex>");        }        if (age != null && !"".equals(age)) {         sb.append("<age><value><![CDATA["+age+"]]></value></age>");          }        if (minzu != null && !"".equals(minzu)) {         sb.append("<minzu><value><![CDATA["+minzu+"]]></value></minzu>");          }        if (hunfou != null && !"".equals(hunfou)) {         sb.append("<hunfou><value><![CDATA["+hunfou+"]]></value></hunfou>");          }        if (chushengdi != null && !"".equals(chushengdi)) {         sb.append("<chushengdi><value><![CDATA["+chushengdi+"]]></value></chushengdi>");          }        if (zhiye != null && !"".equals(zhiye)) {         sb.append("<zhiye><value><![CDATA["+zhiye+"]]></value></zhiye>");          }        if (ruyuandate != null && !"".equals(ruyuandate)) {         sb.append("<ruyuandate><value><![CDATA["+ruyuandate+"]]></value></ruyuandate>");          }        if (jiludate != null && !"".equals(jiludate)) {         sb.append("<jiludate><value><![CDATA["+jiludate+"]]></value></jiludate>");          }        if (bingqingchenshu != null && !"".equals(bingqingchenshu)) {         sb.append("<bingqingchenshu><value><![CDATA["+bingqingchenshu+"]]></value></bingqingchenshu>");          }        if (zhusu != null && !"".equals(zhusu)) {         sb.append("<zhusu><value><![CDATA["+zhusu+"]]></value></zhusu>");          }        if (xianbingshi != null && !"".equals(xianbingshi)) {         sb.append("<xianbingshi><value><![CDATA["+xianbingshi+"]]></value></xianbingshi>");          }        if (jiwangshi != null && !"".equals(jiwangshi)) {         sb.append("<jiwangshi><value><![CDATA["+jiwangshi+"]]></value></jiwangshi>");          }        if (gerenshi != null && !"".equals(gerenshi)) {         sb.append("<gerenshi><value><![CDATA["+gerenshi+"]]></value></gerenshi>");          }        if (jiazushi != null && !"".equals(jiazushi)) {         sb.append("<jiazushi><value><![CDATA["+jiazushi+"]]></value></jiazushi>");          }        if (tigejiancha != null && !"".equals(tigejiancha)) {         sb.append("<tigejiancha><value><![CDATA["+tigejiancha+"]]></value></tigejiancha>");          }        if (zhuankeqingkuang != null && !"".equals(zhuankeqingkuang)) {         sb.append("<zhuankeqingkuang><value><![CDATA["+zhuankeqingkuang+"]]></value></zhuankeqingkuang>");          }        if (fuzhujiancha != null && !"".equals(fuzhujiancha)) {         sb.append("<fuzhujiancha><value><![CDATA["+fuzhujiancha+"]]></value></fuzhujiancha>");          }        if (chubuzhenduan != null && !"".equals(chubuzhenduan)) {         sb.append("<chubuzhenduan><value><![CDATA["+chubuzhenduan+"]]></value></chubuzhenduan>");          }        if (zuihouzhenduan != null && !"".equals(zuihouzhenduan)) {         sb.append("<zuihouzhenduan><value><![CDATA["+zuihouzhenduan+"]]></value></zuihouzhenduan>");          } sb.append("</metadata>");   sb.append("</record>");          sb.append("</ListRecords>");                  sb.append("</root>");                  //声明ZipOutputStream,用来输出zip文件。      ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D://test1.zip"));      //声明ZipEntry      ZipEntry entry = new ZipEntry("test.xml");       //将entry加入到zipOut中。      zipOut.putNextEntry(entry);      //利用DataOutputStream对ZipOutputStream进行包装。      DataOutputStream dataOs = new DataOutputStream(zipOut);        //输出zip文件。     //dataOs.writeUTF(sb.toString());//一开始用这个方法,但是后导致我的程序报错,原因时用这个方法会在开始时多出来个字符,导致无法通过验证    dataOs.write(sb.toString().getBytes("utf-8"));  //我们的xml要求编码格式utf-8,以前没有加上有时会报错,加上之后就好了,也不知道是不是这的原因,先记录下来    dataOs.close();          } 

    转载请注明原文地址: https://ju.6miu.com/read-14803.html

    最新回复(0)