1. 程式人生 > >XML字串與MAP格式互轉

XML字串與MAP格式互轉

 /**
     * XML格式字串轉換為Map
     *
     * @param strXML XML字串
     * @return XML資料轉換後的Map
     * @throws Exception
     */
    public static Map<String, String> xmlToMap(String strXML) throws Exception {
        try {
            Map<String, String> data = new HashMap<String, String>();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
            InputStream stream = new ByteArrayInputStream(strXML.getBytes("UTF-8"));
            org.w3c.dom.Document doc = documentBuilder.parse(stream);
            doc.getDocumentElement().normalize();
            NodeList nodeList = doc.getDocumentElement().getChildNodes();
            for (int idx = 0; idx < nodeList.getLength(); ++idx) {
                Node node = nodeList.item(idx);
                if (node.getNodeType() == Node.ELEMENT_NODE) {
                    org.w3c.dom.Element element = (org.w3c.dom.Element) node;
                    data.put(element.getNodeName(), element.getTextContent());
                }
            }
            try {
                stream.close();
            } catch (Exception ex) {
                // do nothing
            }
            return data;
        } catch (Exception ex) {
            throw ex;
        }
    }
    /**
     * 將Map轉換為XML格式的字串
     *
     * @param data Map型別資料
     * @return XML格式的字串
     * @throws Exception
     */
    public static String mapToXml(Map<String, String> data) throws Exception {
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder documentBuilder= documentBuilderFactory.newDocumentBuilder();
        org.w3c.dom.Document document = documentBuilder.newDocument();
        org.w3c.dom.Element root = document.createElement("xml");
        document.appendChild(root);
        for (String key: data.keySet()) {
            String value = data.get(key);
            if (value == null) {
                value = "";
            }
            value = value.trim();
            org.w3c.dom.Element filed = document.createElement(key);
            filed.appendChild(document.createTextNode(value));
            root.appendChild(filed);
        }
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        DOMSource source = new DOMSource(document);
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        StringWriter writer = new StringWriter();
        StreamResult result = new StreamResult(writer);
        transformer.transform(source, result);
        String output = writer.getBuffer().toString(); //.replaceAll("\n|\r", "");
        try {
            writer.close();
        }
        catch (Exception ex) {
        }
        return output;
    }

相關推薦

XML字串MAP格式

 /**      * XML格式字串轉換為Map      *      * @param strXML XML字串      * @return XML資料轉換後的Map      * @thro

影象RGB2YUVYUV2RGB格式介紹

1 YUV格式與RGB格式說明   由於不同國家的電視訊號系統支援的影象格式不同,有YUV格式成像,也有RGB格式成像,因此為了保證相容性,需要進行RGB與YUV格式的互轉。 另外YUV格式具有亮度資訊和色彩資訊分離的特點,但大多數影象處理操作都是基於RGB格式,需要將RGB格式轉

python日期模組datetime常用操作總結(字串datetime物件、日期差值計算、時間戳獲取、時間陣列生成等)

     在python中,自帶的datetime和time兩個時間模組在平時的使用中可以滿足我們絕大多數的需求,但是由於缺乏對這些模組深度的瞭解和使用,導致平時能夠使用到的時間功能十分有限,例如:對於time模組,我的使用幾乎就是停留在程式執行時間的統計和時間戳生成這

Json字串java物件

到Json的官網上http://json-lib.sourceforge.net/,下載jar包。在官網也可以看到,使用Json還需要其他的一些jar包,官網上是這樣列的: jakarta commons-lang 2.5 jakarta commons-bea

JSON解析類庫之Fastjson(1) --- Fastjson類庫學習, 生成解析json資料,json字串Java物件

JSON解析類庫之Fastjson(1) --- Fastjson基礎知識、簡單JavaBean與複雜Bean物件與JSON互轉 -- Fastjson類庫學習, 生成與解析json資料,json

Java序列化和反序列化超強工具類(包含tif圖片其他格式)

import java.awt.image.RenderedImage; import java.awt.image.renderable.ParameterBlock; import java.io.BufferedInputStream; import java.io.

SAP中ABAP格式JSON格式方法研究

一、JSON概念JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。JSON資料格式示例: {     "學生": [         {"姓名":"小明","年齡":23},         {"姓名":"大憨","年齡":2

DELPHI 字符串日期格式

phi object 日期格 sage roc cli str pre art procedure TForm1.Button1Click(Sender: TObject); var D:TDateTime; s:string; begin D:=

xml字串json

首先需要的maven依賴: <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180813&

json字串Object、List、Map工具類

package com.cq2022.zago.base.util; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Stri

xstream--xml工具類--java物件轉換JSONObject、xmljava物件

工作環境: myeclipse2013、jdk1.8、fastjson1.1.41、xstream1.4.3 import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.Writer;

PIL.Image.opencv2.imread格式

PIL.Image轉換成OpenCV格式: import cv2 from PIL import Image import numpy path = '/home/gavin/Desktop/demo-card-1.jpeg' img = Image.open(path).convert("

將int陣列字串中的數字的方法

在linux中有許多時候我們需要將int陣列轉換為字元陣列,或者字串,但是沒有itoa之類的函式怎麼辦? 下面有幾種int陣列與字串互轉的方法,以及一些需要注意的小的細節。 int main(){ int *arry= NULL;

Java 中Xml物件的

在java開發中我們經常會遇到Xml與物件互相轉換的情況,尤其是針對WebService訪問時會涉及到xml與物件的轉換問題。目前可以用於xml與物件互轉的方式有很多這裡採用jdk自帶的JAXB來進行。 對於jaxb的介紹我就不用過多的介紹了,網上這方面的資料

日期格式:(整型)時間戳日期格式轉換

日期轉成(整型)時間戳大家都知道: var inow = Date.parse(new Date());//把當前時間轉成毫秒 但把這個毫秒怎麼轉成正常的日期格式呢? 請看以下方法: Date.prototype.Format = function (fmt) { //

普通檔案格式二進位制檔案格式

普通檔案與二進位制檔案間的相互轉換 普通檔案字尾為 ".txt",沒帶字尾的為二進位制檔案 #include #include #include #include #include #include #include #include using na

ip地址數字和字串格式

ip_addr = '127.0.0.1' num_ip = sum([256**x*int(y) for x,y in enumerate(ip_addr.split('.')[::-1])]) a = "%x" % num_ip str_ip = ".".join([s

xmlmap格式轉換方法

一、map轉換到xml注: 類似在微信開發過程中,呼叫其API是需要把引數轉換成xml格式的,而在java中map的使用比較方便,這就需要使用到map轉換到xml格式/* * 將SortedMap<Object,Object> 集合轉化成 xml格式

Java中net.sf.json包關於JSON對象的坑

一句話 declared bean == float 谷歌 數據類型 運行時 定制   在Web開發過程中離不開數據的交互,這就需要規定交互數據的相關格式,以便數據在客戶端與服務器之間進行傳遞。數據的格式通常有2種:1、xml;2、JSON。通常來說都是使用JSON來傳遞數

集合數組

代碼 ons ace 表示 但是 漢字 運用 修改 style   一.集合轉數組   以ArrayList集合為例,使用該集合的一個成員方法toArray(),可以將一個集合對象轉化為一個數組。如下所示:   1 void listToArray(){ 2