微信xml解析
来源:互联网 发布:淘宝助理怎么导出图片 编辑:程序博客网 时间:2024/06/07 22:49
public static Map<String, String> parseXml(HttpServletRequest request) throws Exception { // 将解析结果存储在HashMap中 Map<String, String> map = new HashMap<String, String>(); // 从request中取得输入流 InputStream inputStream = request.getInputStream(); // 读取输入流 SAXReader reader = new SAXReader(); Document document = reader.read(inputStream); // 得到xml根元素 Element root = document.getRootElement(); Map<String,String> resultMap = getElementList(root,map); // 释放资源 inputStream.close(); return resultMap; } /** * 递归遍历xml * @param element * @param map * @return */ public static Map<String, String> getElementList(Element element, Map<String, String> map) { List<Element> elements = element.elements(); map.put(element.getName(), element.getText()); if(!elements.isEmpty()){//有子元素 Iterator<Element> it = elements.iterator(); while (it.hasNext()) { Element e = (Element) it.next(); getElementList(e,map); } } return map; } /** * 文本消息对象转换成xml * * @param textMessage 文本消息对象 * @return xml */ public static String textMessageToXml(RespTextMessage textMessage) { xstream.alias("xml", textMessage.getClass()); return xstream.toXML(textMessage); } /** * 扩展xstream,使其支持CDATA块 */ private static XStream xstream = new XStream(new XppDriver() { public HierarchicalStreamWriter createWriter(Writer out) { return new PrettyPrintWriter(out) { // 对所有xml节点的转换都增加CDATA标记 boolean cdata = true; @SuppressWarnings("unchecked") public void startNode(String name, Class clazz) { super.startNode(name, clazz); } protected void writeText(QuickWriter writer, String text) { if (cdata) { writer.write("<![CDATA["); writer.write(text); writer.write("]]>"); } else { writer.write(text); } } }; } });}
0 0
- 微信XML解析
- 微信xml解析
- 微信二维码扫描开发XML解析
- 微信开发之解析xml
- 解析微信返回的xml到map中
- 微信二次开发 之 XML格式数据解析
- jersey接口处理微信支付回调,dom4j解析微信消息xml
- 微信解析二维码
- 微信事件解析
- 微信程序解析
- .net mvc 微信开发笔记(四)------STREAM,POST/GET,XML解析,获取用户普通消息
- 微信开发不用xstream来将对象解析成xml
- 微信解析xml和maven中jar关于getTextContent()冲突
- 微信公众号开发调试-解析XML格式报文文件
- java 接收解析微信公众号返回XML数据包,消息,地理位置
- 微信支付开发教程JAVA编[003]-json和xml的解析
- android 微信支付返回XML格式数据的解析方法
- java 接收解析微信公众号返回XML数据包,消息,地理位置
- Android a应用打开b应用
- 临时
- Fragment的添加步骤
- C#获取路径总结
- Spark之Scala学习之路(三)
- 微信xml解析
- Redis系列~主从复制(十八)
- [深度学习论文笔记][Adversarial Examples] Deep Neural Networks are Easily Fooled: High Confidence Predictions
- RabbitMQ-三、Java使用--4、主题(Topic)
- ubuntu 安装atom
- oracle function用法
- Android产品研发(八)-->App数据统计
- 29、SSH框架-Spring+Mybatis+SpringMVC+Maven+MySql搭建实例(4)
- 卷积神经网络在自然语言处理的应用