解析soap报文

tech2023-11-30  29

public static Map parseSoap(String soap) throws DocumentException, DocumentException { org.dom4j.Document doc = DocumentHelper.parseText(soap);//报文转成doc对象 Element root = doc.getRootElement();//获取根元素,准备递归解析这个XML树 Map<String,Object>map = new HashMap<String,Object>(); getCode(root,map); return map; } public static void getCode(Element root, Map<String, Object> map) { if (root.elements() != null) { List<Element> list = root.elements();//如果当前跟节点有子节点,找到子节点 for (Element e : list) {//遍历每个节点 if (e.elements().size() > 0) { getCode(e, map);//当前节点不为空的话,递归遍历子节点; } if (e.elements().size() == 0) { map.put(e.getName(), e.getTextTrim()); }//如果为叶子节点,那么直接把名字和值放入map } } }
最新回复(0)