DocumentHelper 和SAXReader 解析xml 字符串

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<java.util.Map<String,String>> l=new java.util.ArrayList<java.util.Map<String,String>>();
java.util.List<org.dom4j.Element> elist=stu.elements();
for(int i = 0 ; i < elist.size() ; i++)
{
org.dom4j.Element e=elist.get(i);
java.util.HashMap<String,String> map=new java.util.HashMap<String,String>();
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;

}

转载于:https://www.cnblogs.com/coin1689/p/7903659.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值