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

相关推荐
石金龙12 分钟前
[译] Composition in CSS
前端·css
用户37215742613514 分钟前
Java 实现 Excel 与 TXT 文本高效互转
java
白水清风15 分钟前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix28 分钟前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780028 分钟前
new、原型和原型链浅析
前端·javascript
阿星做前端28 分钟前
coze源码解读: space develop 页面
前端·javascript
叫我小窝吧28 分钟前
Promise 的使用
前端·javascript
NBtab1 小时前
Vite + Vue3项目版本更新检查与页面自动刷新方案
前端
天天扭码1 小时前
来全面地review一下Flex布局(面试可用)
前端·css·面试
浮游本尊1 小时前
Java学习第22天 - 云原生与容器化
java