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

相关推荐
橙子家9 小时前
浏览器缓存之【身份与会话管理】:Cookies 和 Private state tokens
前端
最新资讯动态10 小时前
HDC 2026 | 对话鲸鸿动能:存量时代,品牌如何夺回营销“主动权”?
前端
最新资讯动态10 小时前
游戏出海,从产品走向体系
前端
最新资讯动态10 小时前
20人团队跑出百万DAU、大厂也来抢量:谁在鸿蒙生态跑出加速度
前端
最新资讯动态10 小时前
千万开发者背后,鸿蒙商业化的B面
前端
爱勇宝12 小时前
AI 时代:智商决定起点,情商决定走多远
前端·ai编程
kyriewen12 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒13 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
小bo波13 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
徐小夕14 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github