业务需求:java 解析webservice接口中的xml数据,转为List<Map<String, String>>

使用 Document

  //调用    备注:result是调用webservice 接口返回的参数(xml格式)
  List<Map<String, String>> list = DocumentTrans.Documentanalysis1(DocumentTrans.DocumentHelperreadStringXml(result));
  

具体实现代码

package com.inspur.softwaregroup.communication.nrms.ex.jk.utils;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import java.util.*;

public class DocumentTrans {
    //解析
    public static Document DocumentHelperreadStringXml(String xmlContent) {
        // DocumentHelper 解析xml字符串
        Document document = null;
        try {
            document = DocumentHelper.parseText(xmlContent);
        } catch (DocumentException e1) {
            e1.printStackTrace();
        }
        return document;
    }

    //转换
    public static List<Map<String, String>> Documentanalysis1(Document doc) {
        List<Map<String, String>> uploadList = new ArrayList<Map<String, String>>();
        Element html = doc.getRootElement();// 获取根结点
        List<Element> head = html.elements();
        Set<String> set = new HashSet<>();
        head.forEach(a -> {
            set.add(a.getName());
        });

        set.forEach(a -> {
            List<Element> elements = html.elements(a);// 获取子结点
            elements.forEach(b -> {
                Map<String, String> uploadMap = new HashMap<>();
                uploadMap.put(b.getName(), b.getText());
                uploadList.add(uploadMap);
            });
        });
        return uploadList;
    }
}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐