<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 41, comments - 15, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    java轉換xml、list、map和json

    Posted on 2012-08-28 15:16 yuhaibo736 閱讀(2018) 評論(0)  編輯  收藏

    依賴包 json-lib-2.2.3-jdk13.jar、dom4j-1.6.1.jar

     

    package com.shine.framework.core.util;
    import java.io.ByteArrayOutputStream;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import net.sf.json.JSON;
    import net.sf.json.JSONSerializer;
    import net.sf.json.xml.XMLSerializer;
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.XMLWriter;
    /**
    * common xml conver utility
    *
    * @author viruscodecn@gmail.com
    * @version Framework 2010.10.26
    */
    public class XmlConverUtil {
    /**
    * map to xml xml <node><key label="key1">value1</key><key
    * label="key2">value2</key>......</node>
    *
    * @param map
    * @return
    */
    public static String maptoXml(Map map) {
    Document document = DocumentHelper.createDocument();
    Element nodeElement = document.addElement("node");
    for (Object obj : map.keySet()) {
    Element keyElement = nodeElement.addElement("key");
    keyElement.addAttribute("label", String.valueOf(obj));
    keyElement.setText(String.valueOf(map.get(obj)));
    }
    return doc2String(document);
    }
    /**
    * list to xml xml <nodes><node><key label="key1">value1</key><key
    * label="key2">value2</key>......</node><node><key
    * label="key1">value1</key><key
    * label="key2">value2</key>......</node></nodes>
    *
    * @param list
    * @return
    */
    public static String listtoXml(List list) {
    Document document = DocumentHelper.createDocument();
    Element nodesElement = document.addElement("nodes");
    for (Object o : list) {
    Element nodeElement = nodesElement.addElement("node");
    for (Object obj : ((Map) o).keySet()) {
    Element keyElement = nodeElement.addElement("key");
    keyElement.addAttribute("label", String.valueOf(obj));
    keyElement.setText(String.valueOf(((Map) o).get(obj)));
    }
    }
    return doc2String(document);
    }
    /**
    * json to xml {"node":{"key":{"@label":"key1","#text":"value1"}}} conver
    * <o><node class="object"><key class="object"
    * label="key1">value1</key></node></o>
    *
    * @param json
    * @return
    */
    public static String jsontoXml(String json) {
    try {
    XMLSerializer serializer = new XMLSerializer();
    JSON jsonObject = JSONSerializer.toJSON(json);
    return serializer.write(jsonObject);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    /**
    * xml to map xml <node><key label="key1">value1</key><key
    * label="key2">value2</key>......</node>
    *
    * @param xml
    * @return
    */
    public static Map xmltoMap(String xml) {
    try {
    Map map = new HashMap();
    Document document = DocumentHelper.parseText(xml);
    Element nodeElement = document.getRootElement();
    List node = nodeElement.elements();
    for (Iterator it = node.iterator(); it.hasNext();) {
    Element elm = (Element) it.next();
    map.put(elm.attributeValue("label"), elm.getText());
    elm = null;
    }
    node = null;
    nodeElement = null;
    document = null;
    return map;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    /**
    * xml to list xml <nodes><node><key label="key1">value1</key><key
    * label="key2">value2</key>......</node><node><key
    * label="key1">value1</key><key
    * label="key2">value2</key>......</node></nodes>
    *
    * @param xml
    * @return
    */
    public static List xmltoList(String xml) {
    try {
    List<Map> list = new ArrayList<Map>();
    Document document = DocumentHelper.parseText(xml);
    Element nodesElement = document.getRootElement();
    List nodes = nodesElement.elements();
    for (Iterator its = nodes.iterator(); its.hasNext();) {
    Element nodeElement = (Element) its.next();
    Map map = xmltoMap(nodeElement.asXML());
    list.add(map);
    map = null;
    }
    nodes = null;
    nodesElement = null;
    document = null;
    return list;
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
    /**
    * xml to json <node><key label="key1">value1</key></node> 轉化為
    * {"key":{"@label":"key1","#text":"value1"}}
    *
    * @param xml
    * @return
    */
    public static String xmltoJson(String xml) {
    XMLSerializer xmlSerializer = new XMLSerializer();
    return xmlSerializer.read(xml).toString();
    }
    /**
    *
    * @param document
    * @return
    */
    public static String doc2String(Document document) {
    String s = "";
    try {
    // 使用輸出流來進行轉化
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    // 使用UTF-8編碼
    OutputFormat format = new OutputFormat(" ", true, "UTF-8");
    XMLWriter writer = new XMLWriter(out, format);
    writer.write(document);
    s = out.toString("UTF-8");
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    return s;
    }
    public static void main(String args[]) {
    XmlConverUtil util = new XmlConverUtil();
    String xml = "{/"node/":{/"key/":{/"@lable/":/"key1/",/"#text/":/"value1/"}}}";
    System.out.println(util.jsontoXml(xml));
    }
    }


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 911精品国产亚洲日本美国韩国| 亚洲欧洲自拍拍偷午夜色无码| 亚洲国产一区国产亚洲| j8又粗又长又硬又爽免费视频| 国产一区二区三区在线免费观看 | 国产亚洲精品AA片在线观看不加载| 亚洲Av无码国产一区二区 | 亚洲国产精品专区在线观看| 亚洲av综合av一区二区三区| 无码国产精品久久一区免费| 亚洲一级片在线播放| 久久精品无码一区二区三区免费| 精品国产日韩久久亚洲| 日韩精品成人无码专区免费| 亚洲色无码国产精品网站可下载| 成在人线AV无码免费| 亚洲av无一区二区三区| 国产a级特黄的片子视频免费 | 成人A片产无码免费视频在线观看| 久久精品国产亚洲综合色| 日本免费人成网ww555在线| 亚洲第一成年网站大全亚洲| 中文字幕影片免费在线观看| 亚洲AV色欲色欲WWW| 亚洲男人的天堂在线va拉文| 久久免费线看线看| 亚洲综合久久综合激情久久 | 97免费人妻在线视频| 亚洲一级毛片视频| 亚洲AV无码乱码在线观看性色扶| 久久99精品免费一区二区| 久久亚洲国产精品五月天| 亚洲视频免费观看| 欧美亚洲国产SUV| 亚洲精品狼友在线播放| 最刺激黄a大片免费网站| 粉色视频在线观看www免费| 亚洲乱色熟女一区二区三区丝袜 | 亚洲精品视频久久久| 免费精品无码AV片在线观看| 亚洲国产精品18久久久久久|