src/main/java/com/whyc/controller/FileInfoController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/XmlFileOpreate.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/FileParamService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/FileInfoController.java
@@ -1,14 +1,18 @@ package com.whyc.controller; import com.whyc.dto.FileParamToXml; import com.whyc.dto.Response; import com.whyc.pojo.FileInfo; import com.whyc.pojo.FileParam; import com.whyc.service.FileInfoService; import com.whyc.service.FileParamService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.*; import java.util.Map.Entry; @Api(tags = "文件") @RestController @@ -27,9 +31,26 @@ return paramService.getXmlValue(filePath); } @ApiOperation("通过修改属性窗口值来修改文件值") @ApiOperation("通过修改属性窗口值来修改文件值(传参对象)") @PostMapping("updateXmlByFileParam") public Response updateXmlByFileParam(@RequestBody FileParam fileParam,@RequestParam String filePath){ return paramService.updateXmlByFileParam(fileParam,filePath); } @ApiOperation("通过修改属性窗口值来修改文件值(json)") @PostMapping("updateXmlByParamMap") public Response updateXmlByParamMap(@RequestBody JSONObject paramJson, @RequestParam String filePath){ Map<String,String> map=new HashMap<>(); Set paramSet=paramJson.entrySet(); for (Iterator iter = paramSet.iterator(); iter.hasNext(); ) { Entry entry = (Entry) iter.next(); String key = (String) entry.getKey(); String value = (String) entry.getValue(); String xmlName = FileParamToXml.getNameByType(key); if (xmlName != null && !xmlName.isEmpty()) { map.put(xmlName, value); } } return paramService.updateXmlByParamMap(map,filePath); } } src/main/java/com/whyc/dto/XmlFileOpreate.java
@@ -25,7 +25,8 @@ try { SAXReader reader = new SAXReader(); Document document = reader.read(new File(xmlFilePath)); FileInputStream fiso=new FileInputStream(xmlFilePath); Document document = reader.read(fiso); Element rootnode = document.getRootElement(); Element node;//根节点 @@ -130,8 +131,11 @@ fileInfo.getBattInfoList().add(battInfo); } fileInfo.setFileParam(fparam); } catch (NullPointerException | NumberFormatException | DocumentException | ParseException e) { fiso.close(); } catch (NullPointerException | NumberFormatException | DocumentException | ParseException | FileNotFoundException e) { res = false; e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(false == res) @@ -144,11 +148,13 @@ boolean res=true; try { SAXReader reader = new SAXReader(); Document document = reader.read(new File(xmlFilePath)); FileInputStream fiso= new FileInputStream(xmlFilePath); Document document = reader.read(fiso); for (Map.Entry<String, String> entry:map.entrySet()) { String mapKey = entry.getKey(); String mapValue = entry.getValue(); System.out.println(mapKey+":"+mapValue); //得到第一个mapKey节点 Node node=document.selectSingleNode("//"+mapKey); node.setText(mapValue); @@ -157,6 +163,8 @@ format.setEncoding("UTF-8");//默认的编码就是UTF-8 XMLWriter writer = new XMLWriter( new FileOutputStream(xmlFilePath), format ); writer.write( document ); writer.close(); fiso.close(); } catch (DocumentException | FileNotFoundException | UnsupportedEncodingException e) { res = false; e.printStackTrace(); src/main/java/com/whyc/service/FileParamService.java
@@ -39,6 +39,7 @@ field.setAccessible(true); try { String paramName=field.getName(); //获取属性值 Object obj=field.get(fileParam); if(obj==null){ obj="null"; @@ -63,5 +64,12 @@ } return new Response().setII(1,bl,map,"修改文件"); } //通过修改属性窗口值来修改文件值 public Response updateXmlByParamMap(Map<String,String> map,String filePath) { boolean bl=false; if(map.size()>0){ bl=XmlFileOpreate.writeXml(map,filePath); } return new Response().setII(1,bl,map,"修改文件"); } }