/*
* 导出xml文件
* */
@GetMapping("/export-xml")
@ApiOperationSupport(order = 13)
@ApiOperation(value = "导出xml数据", notes = "Syry")
public R syryXml(String id,String filePathS){
// 数据库查询需要导出的数据
List<ByCyryWlwsjEntity> cyryList = byCyryWlwsjService.selectXml(id);
// 这里指定要导出的xml位置
String path = filePathS != null ? filePathS : "E:/";
String filePath = path;
// 创建Dom树并设置需求只当的节点名称
Document document = DocumentHelper.createDocument();
Element root = document.addElement("Rows");
Element topElement = root.addElement("Row");
try {
// 这里将查询到的数据字段get到Dom节点上(切记类型为String并且数据不能为空不然会报空指针我 在下面做了判断)
for (int i = 0; i < cyryList.size(); i++) {
ElementareaElementSh=topElement.addElement("ID").addText(cyryList.get(i).getId().toString());
Element areaElementBm = topElement.addElement("RKBM").addText(cyryList.get(i).getRkbm());
Element areaElementMc = topElement.addElement("GMSFHM").addText(cyryList.get(i).getGmsfhm());
Element areaElementXs = topElement.addElement("XM").addText(cyryList.get(i).getXm());
String zjDm = cyryList.get(i).getCyzjdm() != null ? cyryList.get(i).getCyzjdm() : "";
Element areaElementYt = topElement.addElement("CYZJDM").addText(zjDm);
String zjHm = cyryList.get(i).getZjhm() != null ? cyryList.get(i).getZjhm() : "";
Element areaElementLb = topElement.addElement("ZJHM").addText(zjHm);
String wwx = cyryList.get(i).getWwx() != null ? cyryList.get(i).getWwx() : "";
Element areaElementZl = topElement.addElement("WWX").addText(wwx);
String wwm = cyryList.get(i).getWwm() != null ? cyryList.get(i).getWwm() : "";
Element areaElementSf = topElement.addElement("WWM").addText(wwm);
String dwBm = cyryList.get(i).getZagldwbm() != null ? cyryList.get(i).getZagldwbm() : "";
Element areaElementHm = topElement.addElement("ZAGLDWBM").addText(dwBm);
Element areaElementXm = topElement.addElement("DWMC").addText(cyryList.get(i).getDwmc());
String zy = cyryList.get(i).getZy() != null ? cyryList.get(i).getZy() : "";
Element areaElementDh = topElement.addElement("ZY").addText(zy);
String zyLb = cyryList.get(i).getZylbdm() != null ? cyryList.get(i).getZylbdm() : "";
Element areaElementDwm = topElement.addElement("ZYLBDM").addText(zyLb);
String zzBm = cyryList.get(i).getZzbm() != null ? cyryList.get(i).getZzbm() : "";
Element areaElementZzBm = topElement.addElement("ZZBM").addText(zzBm);
String zz = cyryList.get(i).getZz() != null ? cyryList.get(i).getZz() : "";
Element areaElementZz = topElement.addElement("ZZ").addText(zz);
String gjDq = cyryList.get(i).getGjdq() != null ? cyryList.get(i).getGjdq() : "";
Element areaElementGjDq = topElement.addElement("GJDQ").addText(gjDq);
String mz = cyryList.get(i).getMz() != null ? cyryList.get(i).getMz() : "";
Element areaElementMz= topElement.addElement("MZ").addText(mz);
String hjDz = cyryList.get(i).getHjdz() != null ? cyryList.get(i).getHjdz() : "";
Element areaElementHjDz = topElement.addElement("HJDZ").addText(hjDz);
String ywSfzH = cyryList.get(i).getYwsfzh() != null ? cyryList.get(i).getYwsfzh() : "";
Element areaElementYwsFzh = topElement.addElement("YWSFZH").addText(ywSfzH);
String xb = cyryList.get(i).getXbdm() != null ? cyryList.get(i).getXbdm() : "";
Element areaElementXb = topElement.addElement("XBDM").addText(xb);
String csRq = cyryList.get(i).getCsrq() != null ? cyryList.get(i).getCsrq().toString() : "";
Element areaElementCsrQ = topElement.addElement("CSRQ").addText(csRq);
String sfjWry = cyryList.get(i).getSfjwry() != null ? cyryList.get(i).getSfjwry() : "";
Element areaElementJwr = topElement.addElement("SFJWRY").addText(sfjWry);
String djrXm = cyryList.get(i).getDjrXm() != null ? cyryList.get(i).getDjrXm() : "";
Element areaElementJr = topElement.addElement("DJR_XM").addText(djrXm);
String djSj = cyryList.get(i).getDjsj() != null ? cyryList.get(i).getDjsj().toString() : "";
Element areaElementSj = topElement.addElement("DJSJ").addText(djSj);
String gxSj = cyryList.get(i).getGxsj() != null ? cyryList.get(i).getGxsj().toString() : "";
Element areaElementGx = topElement.addElement("GXSJ").addText(gxSj);
Element areaElementSs = topElement.addElement("SSSJ").addText(cyryList.get(i).getSssj());
Element areaElementXj = topElement.addElement("SSFXJ").addText(cyryList.get(i).getSsfxj());
Element areaElementCs = topElement.addElement("SSPCS").addText(cyryList.get(i).getSspcs());
Element areaElementRq = topElement.addElement("SSZRQ").addText(cyryList.get(i).getSszrq());
String syRk = cyryList.get(i).getGlsyrk() != null ? cyryList.get(i).getGlsyrk() : "";
Element areaElementSyRk = topElement.addElement("GLSYRK").addText(syRk);
String zxSj = cyryList.get(i).getZxsj() != null ? cyryList.get(i).getZxsj().toString() : "";
Element areaElementZx = topElement.addElement("ZXSJ").addText(zxSj);
String sjBz = cyryList.get(i).getZxsjbz() != null ? cyryList.get(i).getZxsjbz() : "";
Element areaElementBz = topElement.addElement("ZXSJBZ").addText(sjBz);
String zxYy = cyryList.get(i).getZxyy() != null ? cyryList.get(i).getZxyy() : "";
Element areaElementYy = topElement.addElement("ZXYY").addText(zxYy);
Element areaElementOne = topElement.addElement("第"+ (i+1) + "条");
Element areaElementTwo = topElement.addElement("");
}
} catch (Exception e) {
e.printStackTrace();
}
generateXmlFiles(document, filePath, "从业人员xml样例.xml");
return R.success("导出成功");
}
private static boolean generateXmlFiles(Document document, String path, String fileName) {
private static final Logger logger = LoggerFactory.getLogger(BySyrkWlwsjController.class);
File filePath = new File(path);
if (!filePath.exists()) {
filePath.mkdirs();
}
String absoluteFileName = path + File.separator + fileName;
try {
FileOutputStream fos = new FileOutputStream(absoluteFileName);
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(fos, format);
writer.write(document);
writer.close();
fos.close();
return new File(absoluteFileName).exists();
} catch (Exception e) {
e.printStackTrace();
logger.error("生成人员xml文件失败,文件名={},错误信息={}", absoluteFileName, e);
throw new ServiceException("生成人员xml文件失败");
}
}
这里加上一张效果图
有什么问题欢迎大家指正,如果有问题+q 1376575804