java解析xml工具类[通俗易懂]

java解析xml工具类[通俗易懂]publicclassXmlUtils{/***解析xml数据**/publicstaticMap<String,Object>parseXml(byte[]xmlBytes,Stringcharset){SAXReaderreader=newSAXReader(false);…

大家好,又见面了,我是你们的朋友全栈君。

public class XmlUtils {
    /**  * 解析xml数据  * */  public static Map<String,Object> parseXml(byte[] xmlBytes, String charset) {
        SAXReader reader = new SAXReader(false);
        InputSource source = new InputSource(new ByteArrayInputStream(xmlBytes));
        source.setEncoding(charset);
        Map<String,Object> map = new HashMap<String, Object>();
        try {
            Document doc = reader.read(source);
            Iterator<Element> iter = doc.getRootElement().elementIterator();
            while (iter.hasNext()) {
                Element e = iter.next();
                if (!e.elementIterator().hasNext()) {
                    map.put(e.getName(),e.getTextTrim());
                    continue;
                }
                Iterator<Element> iterator = e.elementIterator();
                Map<String,String> param = new HashMap<String, String>();
                while (iterator.hasNext()) {
                    Element el = iterator.next();
                    param.put(el.getName(),el.getTextTrim());
                }
                map.put(e.getName(),param);
            }
        }catch (Exception e) {
            LogUtils.error("XmlParseError",e);
        }
        return map;
    }

    public static Map<String,String> parseXml(String xml) {
        if (StringUtils.isBlank(xml)) {
            return null;
        }
        Map<String,String> result = new HashMap<String, String>();
        try {
            Map<String,Object> map = parseXml(xml.getBytes("UTF-8"), "UTF-8");
            for (String key:map.keySet()) {
                Object value = map.get(key);
                result.put(key, String.valueOf(value));
            }
            return result;
        }catch (Exception e) {
            LogUtils.error("parse_xml_error", e);
        }
        return null;
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143972.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CNN经典模型汇总[通俗易懂]

    CNN经典模型汇总[通俗易懂]本文主要对CNN领域的经典模型进行汇总,算是对近期的学习做一个小总结。基础知识作为深度学习的基础,神经网络这个算法是必须要有深入的了解的,这里不介绍太多,简单介绍一下原理和单个神经元的结构:一、BP神经网络的概念BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。具体来说,对于如下的只含一个隐层的神经网络模型:BP神经网络的过程主要分为两个阶段,第一阶段是信号

    2022年4月19日
    52
  • 用计算机打印出1000,惠普打印机1000一直连不上win7系统电脑

    用计算机打印出1000,惠普打印机1000一直连不上win7系统电脑

    2021年11月27日
    75
  • 【DeepLearning学习笔记】Neurons神经元

    【DeepLearning学习笔记】Neurons神经元今天找到一个比较好的deeplearning的教材:NeuralNetworksandDeepLearning对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=。=Perceptr

    2022年8月5日
    5
  • ubuntu解决vim打开文件时报错E325ATTENTION「建议收藏」

    ubuntu解决vim打开文件时报错E325ATTENTION「建议收藏」ubuntu解决vim打开文件时报错E325ATTENTION

    2022年5月12日
    45
  • MD5加密详解_md5加密的方法

    MD5加密详解_md5加密的方法MD5加密详解 引言:我在百度百科上查找到了关于MD5的介绍,我从中摘要一些重要信息:MessageDigestAlgorithmMD5(中文名为信息摘要算法第五版)为计算机安全领域广泛使用

    2022年8月6日
    5
  • springboot整合tkmybatis以及使用

    springboot整合tkmybatis以及使用经常用 mybatis 的的都知道 使用 mybatisorm 框架存在一个非常不友善的问题就是 就是每操作一个单表就需要自己手写一个 xml 文件 虽然说可以用工具生成 xml 和实体类可以解决这个问题 但是二次开发的时候对某个表字段进行修改的时候 生成 xml 文件就不现实啦 最近发现 tkmybatis 就非常好的解决了这个问题 在这里和大家分享一下 框架配置这里需要引用到的包 mybat

    2025年6月15日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号