/**
*
* @param xml xml字符串
* @return 提取出来的状态码
*/
private List<WorkFlowStatusCodeDto> readStringXmlOut(String xml) {
List<WorkFlowStatusCodeDto> statusCodeDtoList = new ArrayList<>();
Document doc = null;
try {
// 将字符串转为XML
doc = DocumentHelper.parseText(xml);
// 获取根节点
Element rootElt = doc.getRootElement();
// 获取根节点下的子节点process
Iterator processElt = rootElt.elementIterator("process");
// 获取根节点下的子节点userTask
Element userTaskEle = (Element) processElt.next();
Iterator iters = userTaskEle.elementIterator("userTask");
// 遍历userTask节点下的其他节点
while (iters.hasNext()) {
WorkFlowStatusCodeDto node = new WorkFlowStatusCodeDto();
Element itemEle = (Element) iters.next();
// 拿到userTask下的子节点script下其他节点的值
String statusCode = itemEle.attributeValue("statusCode");
String incoming = itemEle.elementTextTrim("incoming");
String outgoing = itemEle.elementTextTrim("outgoing");
node.setStatusCode(statusCode);
node.setIncoming(incoming);
node.setOutgoing(outgoing);
statusCodeDtoList.add(node);
}
statusCodeDtoList.add(done);
} catch (DocumentException e) {
e.printStackTrace();
}
return this.sortWorkFlowStatusCode(statusCodeDtoList);
}
Dom4j基本使用
最新推荐文章于 2021-09-28 15:05:41 发布