`
a729812804
  • 浏览: 41869 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

微信 XMLUtil 数据解析

 
阅读更多

 

import java.io.ByteArrayInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

 

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.JDOMException;

import org.jdom.input.SAXBuilder;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

 

public class XMLUtil {

private static Logger log = LoggerFactory.getLogger(XMLUtil.class);

/**

* 解析xml,返回第一级元素键值对。如果第一级元素有子节点,则此节点的值是子节点的xml数据。

* @param strxml

* @return

* @throws JDOMException

* @throws IOException

*/

public static Map doXMLParse(String strxml) throws JDOMException, IOException {

strxml = strxml.replaceFirst("encoding=\".*\"", "encoding=\"UTF-8\"");

 

if(null == strxml || "".equals(strxml)) {

return null;

}

 

Map m = new HashMap();

 

InputStream in = new ByteArrayInputStream(strxml.getBytes("UTF-8"));

SAXBuilder builder = new SAXBuilder();

Document doc = builder.build(in);

Element root = doc.getRootElement();

List list = root.getChildren();

Iterator it = list.iterator();

while(it.hasNext()) {

Element e = (Element) it.next();

String k = e.getName();

String v = "";

List children = e.getChildren();

if(children.isEmpty()) {

v = e.getTextNormalize();

} else {

v = XMLUtil.getChildrenText(children);

}

 

m.put(k, v);

}

 

//关闭流

in.close();

log.error("doXMLParse  m==="+m.toString());

return m;

}

 

/**

* 获取子结点的xml

* @param children

* @return String

*/

public static String getChildrenText(List children) {

StringBuffer sb = new StringBuffer();

if(!children.isEmpty()) {

Iterator it = children.iterator();

while(it.hasNext()) {

Element e = (Element) it.next();

String name = e.getName();

String value = e.getTextNormalize();

List list = e.getChildren();

sb.append("<" + name + ">");

if(!list.isEmpty()) {

sb.append(XMLUtil.getChildrenText(list));

}

sb.append(value);

sb.append("</" + name + ">");

}

}

log.error("getChildrenText  sb===="+sb.toString());

return sb.toString();

}

 

}

此处为抄录 出处不详

分享到:
评论

相关推荐

    XMLUtil java XML orm toolkit

    在实际应用中,XMLUtil可以广泛应用于配置文件管理、Web服务响应解析、数据交换、持久化存储等多个领域。例如,你可以用它来读取XML配置文件,然后将配置项映射到对应的Java对象,从而方便地管理和操作这些配置。...

    desktop and xmlutil

    它以易于人类阅读和机器解析的方式描述数据。 - XML的结构化特性使得它在Web服务、配置文件、数据交换等方面广泛应用。 - 解析XML主要有两种方式:DOM(Document Object Model)和SAX(Simple API for XML),前者...

    微信退款代码

    5. **XMLUtil.java**: XML解析工具类,微信支付的接口通常返回XML格式的数据,这个类可能是用于解析这些数据,提取出退款状态、退款金额等关键信息的。 6. **RefundClassTest.java**: 这个文件可能是一个退款功能的...

    java 解析xml 多级

    Java作为一种广泛使用的后端编程语言,提供了多种方式来解析XML文档,使得处理多级嵌套的数据变得可能。本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:...

    unity xml解析工具

    Unity XML解析工具是一种在Unity引擎中处理XML数据的方法,它允许开发者从XML文件中提取信息并将其存储到合适的数据结构中,例如字典集合。XML(eXtensible Markup Language)是一种广泛使用的标记语言,用于存储和...

    XPathUtil,根据Xpath解析xml文件

    根据xmlPath路径,找到对应的xml文件,进行解析!之前找了好多感觉和自己的需求不太一样,这个可以根据Xpath解析出来xml里所有的信息,十分好用 举个例子 xmlPath = "E://upload/xml/1580242.163.xml"; XPathUtil util ...

    XMLUtil.class

    Flex网上书店 运行时 的 XMLUtil.class

    XMLUtil.java

    XMLUtil.java,,这就是一小串代码,是一个配置文件,放在Java程序里面。

    Java操作XML工具类XmlUtil详解

    该方法使用DocumentBuilderFactory来实例化DocumentBuilder对象,然后使用DocumentBuilder来解析已有的XML文件,然后将新的Xml节点添加到XML文件中。 public static void toWrite(String filename, String ip) ...

    java实现微信企业付款到个人

    1. **双向证书验证**:微信支付接口要求使用SSL证书进行通信,确保数据传输的安全性。开发者需要获取并配置商户平台的API证书,包括私钥和公钥,用于请求的加密和解密。 2. **接口秘钥与签名**:在调用微信支付接口...

    android中的xml解析

    例如,你可以创建一个`XMLUtil`类,包含`parseDOM()`和`parseSAX()`方法,分别处理DOM和SAX解析。 `androidxmlparser3Gdemo`可能是示例项目的名称,它可能包含了一个或多个Android应用示例,演示了如何在实际项目中...

    xmlutil XMl工具类

    xml2bean

    XML解析与生成工具

    "XmlUtil.jar"可能是封装了XML解析和生成功能的Java库,可以直接在Java项目中引入使用。"README.txt"文件通常包含了关于如何使用该工具包的说明和示例,包括如何导入、调用相关方法以及注意事项等。"test.xml"文件...

    Android开发中解析xml文件XmlUtils工具类与用法示例

    本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法。分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang....

    简易的xml解析代码

    8. **对比DOM解析**:与DOM解析相比,这个简易解析器可能更节省内存,因为DOM会加载整个XML文档到内存中形成一个树形结构,而这个解析器可能采用事件驱动的方式,按需读取XML数据,减少了内存占用。 9. **扩展性**...

    XmlUtil.java

    xml文件数据解析

    支付相关包.rar

    HttpRequest和HttpUtil处理网络通信,MD5保证数据安全,PayCommonUtil提供支付流程的通用功能,而XMLUtil则帮助解析和生成支付相关的XML数据。这样的设计使得代码结构清晰,易于维护和扩展。在实际应用中,还需要...

    XMLUtil.txt

    微信JSAPI工具包

Global site tag (gtag.js) - Google Analytics