万能的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的回报。

相关推荐
前端熊猫14 分钟前
Element Plus 日期时间选择器大于当天时间置灰
前端·javascript·vue.js
boy快快长大16 分钟前
【NebulaGraph】查询案例(六)
java·服务器·数据库
重生之Java开发工程师21 分钟前
JVM 主要组成部分与内存区域
java·jvm·面试
傻小胖22 分钟前
React 组件通信完整指南 以及 自定义事件发布订阅系统
前端·javascript·react.js
万亿少女的梦16828 分钟前
高校网络安全存在的问题与对策研究
java·开发语言·前端·网络·数据库·python
罗政32 分钟前
PDF书籍《手写调用链监控APM系统-Java版》第2章 第一个Agent应用
java·python·pdf
java1565505797040 分钟前
Docker Compose一键部署Spring Boot + Vue项目
java
陶然同学1 小时前
【黑马头条】day20—xxl-job
java·数据库·redis·项目
Python私教1 小时前
Vue3中的`ref`与`reactive`:定义、区别、适用场景及总结
前端·javascript·vue.js
CQU_JIAKE1 小时前
12.12【java exp4】react table全局搜索tailwindcss 布局 (Layout) css美化 3. (rowId: number
前端·javascript·react.js