万能的XML解析方法,获取指定字段值

上代码:

java 复制代码
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
    
    public String handleXmlResponse(String response,String field) {
        if(StringUtils.isBlank(field)){
            return response;
        }
        SAXReader reader = new SAXReader();
        try {
            Document document = reader.read(new StringReader(response));
            Element root = document.getRootElement();
            return getFieldValue(root, field);
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        return null;
    }

    public String getFieldValue(Element element, String fieldName) {
        for (Iterator<Element> it = element.elementIterator(); it.hasNext();) {
            Element child = it.next();
            if (child.getName().equals(fieldName)) {
                return child.getText();
            } else {
                String fieldValue = getFieldValue(child, fieldName);
                if (fieldValue != null) {
                    return fieldValue;
                }
            }
        }
        return null;
    }

此方法,便于我们处理xml的回报。

相关推荐
伍六星2 分钟前
更新Java的环境变量后VScode/cursor里面还是之前的环境变量
java·开发语言·vscode
晴殇i4 分钟前
🌐 CDN跨域原理深度解析:浏览器安全策略的智慧设计
前端·面试·程序员
风象南8 分钟前
SpringBoot实现简易直播
java·spring boot·后端
万能程序员-传康Kk17 分钟前
智能教育个性化学习平台-java
java·开发语言·学习
落笔画忧愁e27 分钟前
扣子Coze飞书多维表插件-列出全部数据表
java·服务器·飞书
鱼儿也有烦恼30 分钟前
Elasticsearch最新入门教程
java·elasticsearch·kibana
Uyker30 分钟前
空间利用率提升90%!小程序侧边导航设计与高级交互实现
前端·微信小程序·小程序
bin915339 分钟前
DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_天气预报日历示例(CalendarView01_18)
前端·javascript·vue.js·ecmascript·deepseek
eternal__day39 分钟前
微服务架构下的服务注册与发现:Eureka 深度解析
java·spring cloud·微服务·eureka·架构·maven
江城开朗的豌豆39 分钟前
JavaScript篇:反柯里化:让函数'反悔'自己的特异功能,回归普通生活!
前端·javascript·面试