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
}
}
}
解析soap报文
最新推荐文章于 2022-10-18 23:41:41 发布