Browse Source

修改xml内容方式优化

dudm 3 years ago
parent
commit
864fa9048a

+ 11 - 6
flowable/src/main/java/com/huyi/flowable/controller/ApiController.java

@@ -33,6 +33,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.xml.parsers.DocumentBuilder;
@@ -417,20 +419,23 @@ public class ApiController {
 
             // 修改第一个
             // 5、获取 process 结点
-            Element processElement = (Element) document.getElementsByTagName("process").item(0);
-            Element processId = (Element) processElement.getElementsByTagName("id").item(0);
+            Node processElement = document.getElementsByTagName("process").item(0);
+            NamedNodeMap processNodeMap = processElement.getAttributes();
+            Node processId = processNodeMap.getNamedItem("id");
             processId.setTextContent(id);
 
             // 修改第二个
             // 5、获取 bpmndi 结点
-            Element bpmndiElement = (Element) document.getElementsByTagName("bpmndi:BPMNPlane").item(0);
-            Element bpmndiId = (Element) bpmndiElement.getElementsByTagName("id").item(0);
+            Node bpmndiElement = document.getElementsByTagName("bpmndi:BPMNPlane").item(0);
+            NamedNodeMap bpmndiNodeMap = bpmndiElement.getAttributes();
+            Node bpmndiId = bpmndiNodeMap.getNamedItem("id");
             bpmndiId.setTextContent(id);
 
             // 修改第三个
             // 5、获取 userTask 结点
-            Element userTaskElement = (Element) document.getElementsByTagName("userTask").item(0);
-            Element userTaskAssignee = (Element) userTaskElement.getElementsByTagName("flowable:assignee").item(0);
+            Node userTaskElement = document.getElementsByTagName("userTask").item(0);
+            NamedNodeMap userTaskNodeMap = userTaskElement.getAttributes();
+            Node userTaskAssignee = userTaskNodeMap.getNamedItem("flowable:assignee");
             userTaskAssignee.setTextContent(personId);
 
             // 9、创建 TransformerFactory 对象