json(map)与xml的转化
来源:互联网 发布:淘宝母婴店图片装修 编辑:程序博客网 时间:2024/06/05 16:46
xml转map
import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.input.SAXBuilder;/** * xml工具类 * @author miklchen * */public class XMLUtil { /** * 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。 * @param strxml * @return * @throws JDOMException * @throws IOException */ public static Map doXMLParse(String strxml) throws JDOMException, IOException { strxml = strxml.replaceFirst("encoding=\".*\"", "encoding=\"UTF-8\""); if(null == strxml || "".equals(strxml)) { return null; } Map m = new HashMap(); InputStream in = new ByteArrayInputStream(strxml.getBytes("UTF-8")); SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(in); Element root = doc.getRootElement(); List list = root.getChildren(); Iterator it = list.iterator(); while(it.hasNext()) { Element e = (Element) it.next(); String k = e.getName(); String v = ""; List children = e.getChildren(); if(children.isEmpty()) { v = e.getTextNormalize(); } else { v = XMLUtil.getChildrenText(children); } m.put(k, v); } //关闭流 in.close(); return m; } /** * 获取子结点的xml * @param children * @return String */ public static String getChildrenText(List children) { StringBuffer sb = new StringBuffer(); if(!children.isEmpty()) { Iterator it = children.iterator(); while(it.hasNext()) { Element e = (Element) it.next(); String name = e.getName(); String value = e.getTextNormalize(); List list = e.getChildren(); sb.append("<" + name + ">"); if(!list.isEmpty()) { sb.append(XMLUtil.getChildrenText(list)); } sb.append(value); sb.append("</" + name + ">"); } } return sb.toString(); } }
map转xml
public static String ArrayToXml(HashMap<String, String> arr) { String xml = "<xml>"; Iterator<Entry<String, String>> iter = arr.entrySet().iterator(); while (iter.hasNext()) { Entry<String, String> entry = iter.next(); String key = entry.getKey(); String val = entry.getValue(); if (IsNumeric(val)) { xml += "<" + key + ">" + val + "</" + key + ">"; } else xml += "<" + key + "><![CDATA[" + val + "]]></" + key + ">"; } xml += "</xml>"; return xml; } public static boolean IsNumeric(String str) { if (str.matches("\\d *")) { return true; } else { return false; } }
0 0
- json(map)与xml的转化
- 玩转Web之Json(四)---json与(Object/List/Map)的相互转化
- JavaBean List Map Json的转化
- node.js xml与json相互转化
- js 把xml与json互相转化
- node.js xml与json相互转化
- Json 转化为Map
- JSON转化为Map
- xml文件和map之间的转化
- JSON对象中的JSONObject和JSONArray以及与Map、String、数组的转化
- java中Map、JSONArray、JSONObject的关系及转换以及json字符串与json对象的转化
- 使用CJSON库实现XML与JSON格式的相互转化
- Map与JavaBean之间的相互转化
- Map与JavaBean之间的相互转化
- json与对象之间的转化(方案一)
- JS遍历后台传过来的JSON数据(由Map转化成)
- java bean、List、数组、map和Json的相互转化
- List,Map,Bean等对象转化为Json的方式
- 【Django】优化小技巧之清除过期session
- Android:AsyncTask -- 异步任务
- LINQ语句中的.AsEnumerable() 和 .AsQueryable()的区别
- 互联网文摘
- popwindow在View的上,下,左,右 显示
- json(map)与xml的转化
- Spring MVC教程,快速入门,深入分析
- ios 本地存储之NSUserDefaults
- 4K 对齐
- 彼得•德鲁克-著作列表
- LeetCode 题解(207) : H-Index
- Intent中的四个重要属性——Action、Data、Category、Extras
- webstorm那些好用的特性
- 算法导论—B树