zoukankan      html  css  js  c++  java
  • [ java 工具类] xml字符串解析成Map(DOM解析)

    package com.tencent.jungle.wechat.util;
    
    import com.google.inject.Singleton;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.InputSource;
    
    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import java.io.StringReader;
    import java.util.HashMap;
    import java.util.Map;
    
    @Singleton
    public class XmlUtils {
        public static Document parseXmlString(String xmlStr){
    
            try{
                InputSource is = new InputSource(new StringReader(xmlStr));
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder=factory.newDocumentBuilder();
                Document doc = builder.parse(is);
                return doc;
            }catch(Exception e){
                e.printStackTrace();
            }
            return null;
        }
    
        public static Map<String,Object> getXmlBodyContext(String bodyXml){
    
            Map<String,Object> dataMap = new HashMap<String,Object>();
    
            Document doc = parseXmlString(bodyXml);
            if(null != doc){
                NodeList rootNode = doc.getElementsByTagName("xml");
                if(rootNode != null){
    
                    Node root = rootNode.item(0);
                    NodeList nodes = root.getChildNodes();
                    for(int i = 0;i < nodes.getLength(); i++){
                        Node node = nodes.item(i);
                        dataMap.put(node.getNodeName(), node.getTextContent());
                    }
                }
            }
            return dataMap;
        }
    
    }
    
    
        public static void main(String[] args) {
            String xmlStr = "<xml><AppId></AppId><CreateTime>1413192605</CreateTime><InfoType></InfoType><ComponentVerifyTicket></ComponentVerifyTicket></xml>";
            Map<String, Object> map = XmlUtils.getXmlBodyContext(xmlStr);
            System.out.println(map);
        }
    
    
    
  • 相关阅读:
    JsonParse类
    vs2013提交项目到github
    js选中select
    按每20条分组查询
    批量修改图片格式
    当前日期后10天日期
    C#生成不重复随机数的方法
    接收端通过Request.InputStream读取流
    C#文件流的读写
    C#中HttpWebRequest的用法详解
  • 原文地址:https://www.cnblogs.com/QG-whz/p/10000239.html
Copyright © 2011-2022 走看看