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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 1142错误_mysql 1067错误

    mysql 1142错误_mysql 1067错误环境:CentOS7+mysql5.7在创建视图中,出现了1142报错信息,如下:报错原因:使用的mysql用户没有创建视图的权限解决:赋予该用户权限,我这里使用的用户名是admin,1、通过root进入mysql执行一下语句mysql>grantallprivilegesonshop.*toadmin;QueryOK,0rowsaffected(0.00sec)mysql>flushprivileges;QueryOK,0rowsaf

    2022年10月1日
    0
  • Excel2JSON Excel转JSON Excel另存为JSON的技巧

    Excel2JSON Excel转JSON Excel另存为JSON的技巧不过欢迎大家转发到微博、微信、朋友圈~么么哒~JSON是码农们常用的数据格式,轻且方便,而直接手敲JSON却是比较麻烦和令人心情崩溃的(因为重复的东西很多),所以很多码农可能会和我一样,选择用Excel去输入数据,然后再想办法转换成JSON格式。小编今天推荐使用Excel直接另存为JSON的方法。该方法的特点是:除可以正常的直接按照表头作为key,内容作为value输出之外,还可以

    2022年6月14日
    47
  • PyPDF2模块[通俗易懂]

    PyPDF2模块[通俗易懂]1、PdfFileReader构造方法:PyPDF2.PdfFileReader(stream,strict=True,warndest=None,overwriteWarnings=True)stream:*File对象或支持与File对象类似的标准读取和查找方法的对象,也可以是表示PDF文件路径的字符串。*strict(bool):确定是否应该警告用户所用的…

    2022年6月23日
    28
  • 舵机内部结及工作原理浅析[通俗易懂]

    舵机内部结及工作原理浅析[通俗易懂]一、舵机实物图就像上面这张照片,相信大家都不会陌生,我们常见到的舵机就是这个模样,一般是塑料外壳,当然很少见的也有金属外壳的舵机,因为涉及到控制信号,所以一般有三条引出线。像上图所示的样子,舵机有一个三线的接口。黑色线(或棕色线)是接地线,红线接+5V电压,黄线(或是白色或橙色)接控制信号端。(而步进电机一般会有4~6根不等的引出线)二…

    2022年4月27日
    66
  • win7下jdk安装环境变量配置

    win7下jdk安装环境变量配置

    2021年12月6日
    41
  • dz论坛ucenter打不开mysql_Discuz论坛搬家 ucenter info:can not connect to MySQL server解决办法…「建议收藏」

    dz论坛ucenter打不开mysql_Discuz论坛搬家 ucenter info:can not connect to MySQL server解决办法…「建议收藏」问题描述UCenterinfo:CannotconnecttoMySQLserverError:Accessdeniedforuser‘a*********’@’localhost’(usingpassword:YES)解决方法修改/web/uc_server/data/config.inc.PHP文件里的数据库用户名密码,更新为新数据库的用户名及密码。ftp重新上传一…

    2022年7月25日
    9

发表回复

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

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