[ java 工具类] xml字符串解析成Map(DOM解析)
Posted qg-whz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ 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);
}
以上是关于[ java 工具类] xml字符串解析成Map(DOM解析)的主要内容,如果未能解决你的问题,请参考以下文章