JAVA 解析xml字符串

导入dom4j jar包

final String returnXML = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg><appid><![CDATA[wx8440b01badf5be52]]></appid><mch_id><![CDATA[1403452402]]></mch_id><nonce_str><![CDATA[VtgwoXiY23023w74]]></nonce_str><sign><![CDATA[39905078A04123151ED5F4399DAD042C]]></sign><result_code><![CDATA[SUCCESS]]></result_code><prepay_id><![CDATA[wx20170802095241a3dd4b58f60170434577]]></prepay_id><trade_type><![CDATA[JSAPI]]></trade_type></xml>";
Map<Object, Object> mapXML = new HashMap<Object, Object>();
			Document doc;
try
			{
				doc = DocumentHelper.parseText(returnXML);
				final Element el = doc.getRootElement();
				mapXML = recGetXmlElementValue(el, mapXML);
				LOG.info("========" + mapXML.size() + "+++" + mapXML.get("return_code"));
				if (mapXML.get("return_code").equals("SUCCESS"))
				{
					//操作
				}
			}
			catch (final DocumentException e)
			{
				e.printStackTrace();
				return null;
			}

private static Map<Object, Object> recGetXmlElementValue(final Element ele, final Map<Object, Object> map)
	{
		final List<Element> eleList = ele.elements();
		if (eleList.size() == 0)
		{
			map.put(ele.getName(), ele.getTextTrim());
			return map;
		}
		else
		{
			for (final Iterator<Element> iter = eleList.iterator(); iter.hasNext();)
			{
				final Element innerEle = iter.next();
				recGetXmlElementValue(innerEle, map);
			}
			return map;
		}
	}

  

时间: 2024-11-07 07:57:06

JAVA 解析xml字符串的相关文章

java解析xml字符串为实体(dom4j解析)

package com.smsServer.Dhst; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.common.object.

java 解析xml字符串用dom4j

package com.smsServer.Dhst; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.common.object.

java 解析 xml 字符串

import java.io.IOException;import java.io.StringReader;import java.util.List; import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.Namespace;import org.jdom.input.SAXBuilder;import org.xml.sax.InputSource; pu

最简单的JAVA解析XML字符串方法

引入 dom4j 包<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version></dependency> 比如阿里云视频转码服务的回调通知解析,代码如下: import org.dom4j.Document; import org.dom4j.DocumentException; im

解析xml字符串出现java.net.MalformedURLException: no protocol的解决办法

使用jdom解析xml字符串代码如下 String xml = "<root>......</root>"; SAXBuilder builder = new SAXBuilder(); Document doc = builder.build(xml); 运行时,抛异常java.net.MalformedURLException: no protocol...... 解决办法如下: String xml="<root>......<

java解析XML获取城市代码

运行前先导入dom4j架包,由于我们公司用的代理服务器所以下面我设置了代理ip,不需要的可直接忽略 package com.chengshidaima.tools; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.net.URLConn

dom4j解析xml字符串实例

与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml.dom4j是一套开源的api.实际项目中,往往选择dom4j来作为解析xml的利器. 先来看看dom4j中对应XML的DOM树建立的继承关系 针对于XML标准定义,对应于图2-1列出的内容,dom4j提供了以下实现: 同时,dom4j的NodeType枚举实现了XML规范中定义的node类型.如此可以在遍历x

XML基础+Java解析XML +几种解析方式的性能比较

XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数据,其焦点是数据的内容. HTML 被设计用来展示数据,其焦点是数据的外观. HTML可以不关闭标签(即标签可以不成对出现),但XML必须关闭标签(即标签必须成对出现). HTML中的标签标识文本如何展示,而XML中的标签标识文本是什么含义(什么类型的文本). XML文档节点类型 u     文档(

JAVA解析XML之SAX方式

JAVA解析XML之SAX方式 SAX解析xml步骤 通过SAXParseFactory的静态newInstance()方法获取SAXParserFactory实例factory 通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser 创建一个类继承DefaultHandle,重写方法进行业务处理并创建这个类的实例handle 重写DefaultHandle类的方法 startElement方法用来遍历xml文件的开始标签; endEle