DocumentHelper 解析xml字符串

String xml=com.jetsen.platform.util.FileUtil.getFileContent(request.getSession().getServletContext().getRealPath("/WEB-INF/platform-app-interface.xml"));

org.dom4j.Document doc = org.dom4j.DocumentHelper.parseText(xml);

org.dom4j.Element stu = doc.getRootElement();

java.util.List> l=new java.util.ArrayList>();

java.util.List elist=stu.elements();

for(int i = 0 ; i < elist.size() ; i++)

{

org.dom4j.Element e=elist.get(i);

java.util.HashMap map=new java.util.HashMap();

map.put("id",e.attributeValue("id"));

map.put("beanId",e.attributeValue("beanId"));

map.put("methodName",e.attributeValue("methodName"));

map.put("paramClass",e.attributeValue("paramClass"));

map.put("example",e.getText());

l.add(map);

}

request.setAttribute("l",l);

SAXReader用法示例

/要上传的配置文件的路径

static String uploadCfgFile = "WEB-INF/conf/uploadfile.xml";

Document uploadDocument;//文档对象实体

Map uploadMap = new HashMap();

/** * 获取配置文件的绝对路径 *@param request *@return */

private String getUploadCfgFilePath(ServletRequest request){

return ((HttpServletRequest) request).getSession().getServletContext().getRealPath("uploadCfgFile");

}

** * 初始化配置文件 *@param request *@return */

private Document initUploadCfgDocument(ServletRequest request){

SAXReader saxReader = new SAXReader();

try {

//得到指定文件,以流的形式对文件进行序列化

FileInputStream fis = new FileInputStream(getUploadCfgFilePath(request));

uploadDocument = (Document) saxReader.read(fis);

} catch (FileNotFoundException e) {

logger.debug(e);

} catch (DocumentException e) {

logger.debug(e);

}

return uploadDocument;

/** * 获取配置文件 *@param request *@return */

private Document getUploadCfgDocument(ServletRequest request){

if (this.uploadDocument == null) {

this.uploadDocument = initUploadCfgDocument(request);

}

return this.uploadDocument;

}

/** * 获取某个指定ticket节点的配置属性 *@param request *@return */

private Map getUploadMap(ServletRequest request){

Document uploadDocument = getUploadCfgDocument(request); //得到XML的根节点(message)

Element root = uploadDocument.getRootElement();

Iterator tickets = root.element("body").element("ticketNotify").elementIterator(); //获取ticketNotify节点下所有的ticket节点的配置属性,并将其放到Map中

while (tickets.hasNext()) { Element ticket = (Element) tickets.next(); uploadMap.put("id", ticket.attributeValue("id"));

uploadMap.put("dealTime", ticket.attributeValue("dealTime"));

uploadMap.put("status", ticket.attributeValue("status")); } //Element.asXML方法,获得包括该标签的所有XML数据

// System.out.println(root.element("body").asXML());

return uploadMap;

}

java saxreader 字符串_DocumentHelper 和SAXReader 解析xml 字符串相关推荐

  1. java dom解析xml字符串_dom4j解析xml字符串实例

    java部分 DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文 ...

  2. java 前言中不允许有内容_解析xml字符串时报“前言中不允许有内容”错误。

    一,问题出现经过: j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException: Error on line 1 o ...

  3. java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...

    一.前言 通过dom4j解析XML文档的XMLDocUtil工具类,进行解析xml字符串为Document文档对象.获取根节点元素路径内容getRootElement.获取唯一路径节点的值getSin ...

  4. Java解析XML字符串格式

    Java解析XML字符串格式 前言 代码示例 结果展示 前言 java解析XML字符串格式使用的是Dom4j这一种方式; dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文 ...

  5. 框架选修课之dom4j解析xml字符串实例

    DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml ...

  6. dom4j解析xml字符串实例

    //先加入dom4j.jar包 import java.util.HashMap; import java.util.Iterator; import java.util.Map; import or ...

  7. SAX解析xml字符串

    最近需要接入微信支付的返回参数,将其入库,微信的返回参数是xml格式的,这里采用sax进行数据解析 package com.xx.utils;import java.io.StringReader; ...

  8. c语言解析xml字符串_Python XML解析

    Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是 ...

  9. java正则截取xml节点_实例讲述Java使用正则表达式截取重复出现的XML字符串功能...

    Java使用正则表达式截取重复出现的XML字符串功能示例 本文实例讲述了Java使用正则表达式截取重复出现的XML字符串功能.分享给大家供大家参考,具体如下: public static void m ...

最新文章

  1. liunx使用ssh免密登录
  2. visual studio2019许可证
  3. java 静态类 安全_Java静态static工具类线程安全问题研究
  4. (转载)android如何在style文件中使用自定义属性
  5. Windows系统帮助中心程序的0day漏洞
  6. 小五思科技术学习笔记之SSH
  7. linux 键盘 数值,键盘数值对照表
  8. 用贪婪算法解决背包问题_解决主要算法问题的贪婪策略
  9. FreeEIM 是班级的学习委员
  10. 常见的SQL笔试题和面试题:SQL经典50题
  11. python实践日记二
  12. Trying to access array offset on value of type int
  13. Proxifier实现指定进程代理IP 雷电模拟器为例
  14. PDF添加页码(itext)
  15. html添加启动项,电脑BIOS启动项怎么设置?bios设置启动项图解
  16. win10系统开始菜单点不出来的有效修复方案
  17. Project Euler:Problem 53 Combinatoric selections
  18. Googlebot(谷歌机器人)深入了解
  19. 网站建设(1)——域名的类型、选择和购买
  20. ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n

热门文章

  1. %s和%c的区别及使用
  2. Codex--GPT的写代码版本
  3. 细谈静态类和实例类的区别
  4. 定制 Jenkins 镜像说明
  5. 应聘职位英文翻译精选
  6. 合并计算+创建数据透视表+筛选+分类汇总
  7. “深网” “暗网”
  8. 天之刃一键端卡5% 卡进度条 的解决方法
  9. 三分钟教你文档怎样翻译
  10. 工业互联网标识Handle企业节点搭建及开发服务