import java.io.ByteArrayInputStream;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class XMLToMapUtil {

public static Map<String, String> xmlToMap(String xml, String charset)
throws UnsupportedEncodingException, DocumentException {

Map<String, String> respMap = new HashMap<String, String>();

SAXReader reader = new SAXReader();
Document doc = reader.read(new ByteArrayInputStream(xml.getBytes(charset)));
Element root = doc.getRootElement();
xmlToMap(root, respMap);
return respMap;
}

public static Map<String, String> xmlToMap(Element tmpElement, Map<String, String> respMap) {

if (tmpElement.isTextOnly()) {
respMap.put(tmpElement.getName(), tmpElement.getText());
return respMap;
}

@SuppressWarnings("unchecked")
Iterator<Element> eItor = tmpElement.elementIterator();
while (eItor.hasNext()) {
Element element = eItor.next();
xmlToMap(element, respMap);
}
return respMap;
}
}

XML字符串转为Map的更多相关文章

  1. XML字符串转为Map集合

    public class xmlToMapUtils { /** * xml字符串转为map集合 * @param xmlStr * @return */ public static Map<S ...

  2. xml格式字符串转为Map

    import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom ...

  3. ASP.NET中把xml转为dataset与xml字符串转为dataset及dataset转为xml的代码

    转自:http://www.cnblogs.com/_zjl/archive/2011/04/08/2009087.html XmlDatasetConvert.csusing System;usin ...

  4. xml字符串转为XmlDocument

    string xml = "<xml><logistics_express_get_respose><express_detail><company ...

  5. java字符串转为Map类型:split()方法的应用

    方法一: package com.thinkgem.jeesite.modules.socketTest.demo2; import java.util.HashMap; import java.ut ...

  6. javascript xml字符串转为json对象

    var xmlStr = '<?xml version="1.0" encoding="utf-8" ?><config><nam ...

  7. Json格式String类型字符串转为Map工具类

    package agriculture_implement.util; import com.google.gson.Gson; import com.google.gson.JsonSyntaxEx ...

  8. xml 字符串解析成通用的map

    [quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...

  9. 帮助小伙伴写的组装xml字符串类

    import java.io.IOException; import java.io.StringWriter; import java.util.ArrayList; import java.uti ...

随机推荐

  1. kafka connect rest api

    1. 获取 Connect Worker 信息curl -s http://127.0.0.1:8083/ | jq lenmom@M1701:~/workspace/software/kafka_2 ...

  2. 0008 合并K个排序链表

    合并 k 个排序链表,返回合并后的排序链表.请分析和描述算法的复杂度. 示例: 输入: [   1->4->5,   1->3->4,   2->6 ] 输出: 1-&g ...

  3. c3.cpp

    Char16_t(在字符串前加u)和char32_t(在字符串前加U)都是无符号的,数字代表长度(底层长度随系统而定) 在函数bool中,任何非0值都代表真(即使他是个负数),只有0代表false 一 ...

  4. 【BZOJ2054】疯狂的馒头(并查集)

    /* 经典思路, 倒序并查集处理即可 */ #include<cstdio> #include<algorithm> #include<cstring> #incl ...

  5. arc 097 E - Sorted and Sorted

    E - Sorted and Sorted Time limit : 2sec / Memory limit : 1024MB Score : 600 points Problem Statement ...

  6. Opencv与Qt (一)之运行测试读取图片

    刚刚在vs上装好了QT和Opencv,试一下效果把. 我简单的创建了一个label,然后使用Opencv导入图像,因为Opencv导入图像是MAT格式的,在使用Qt的时候我们要把导入的图像转换成Qim ...

  7. 分布式 基本理论 CAP 2

    关于P P, 即 Partition字面意思是网络分区,其实 包括了 各种网络问题, 我们要把它理解 一个 广义的 分区问题. P 涉及到了 时间, 这么说吧, 出现了分区, 那就是节点之间 “长久的 ...

  8. 在虚拟机上运行zookeeper的过程中,xshell连接不上虚拟机

    之后网上的各种方法,都没用 如图,就是第一个网卡配置文件.下面又具体的详解.网上有说让把Onboot改成yes,而我的本来就是yes,就没该, 之后我对比了我原来电脑你虚拟机的网卡配置文件,我发现on ...

  9. (转)IIS7无法读取配置文件解决办法

    web.config 太大导致”出现无法读取配置文件,因为它超过了最大文件大小”错误问题的解决方法,如下:HKLM\SOFTWARE\Microsoft\InetStp\Configuration\M ...

  10. SSM商城项目(十二)

    1.   学习计划 1.购物车实现 2.未登录状态下使用购物车 3.登录状态下使用购物车 2.   购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以 ...