对xml文件的解析dom4j
来源:互联网 发布:2016年淘宝刷单权重 编辑:程序博客网 时间:2024/05/21 19:31
本篇写于微信公众号的xml消息包的解析,通过HttpServletRequest请求来获得xml
package org.gxj.util;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j_Xml_Util {
public static Map<String, String> dom4j_xml(HttpServletRequest request) throws DocumentException, IOException {
// 创建sax io流,用于读取xml人间
SAXReader read = new SAXReader();
// 将xml文件读取到获取的document对象中
org.dom4j.Document doc = read.read(request.getInputStream());
//org.dom4j.Document doc = read.read(new File("D:/jsdzworkspace/weixin-web/src/NewFile.xml"));测试方法是否好用
// 用Document对了来创建根节点
Element root = doc.getRootElement();
Map<String, String> map = new HashMap<String, String>();
map = recur_xml(root, map);//这块调用的下面的递归解析xml的方法
// //得到根节点下所有的子节点
// List<Element> elementslist = root.elements();
// //遍历list获得值封装到map中 先创建map对象
// Map<String,String>map = new HashMap<String,String>();
// for (Element element : elementslist) {
// map.put(element.getName(), element.getText());
// }
return map;
}
// 接下来的方法是递归获取xml文件中的值
public static Map<String, String> recur_xml(Element root, Map<String, String> map) {
// 每次进来的时候,都是一个根节点,通过根结点来获取他的子节点
List<Element> elementslist = root.elements();
// 然后判断子节点的大小
if (elementslist.size() == 0) {
map.put(root.getName(), root.getText());
} else {
for (Element element : elementslist) {
recur_xml(element, map);
}
}
return map;
}
}
阅读全文
0 0
- 对xml文件的解析dom4j
- dom4j对xml的解析
- DOM与DOM4J对XML文件的解析
- DOM4J对XML文件的生成和解析
- 用DOM4j 对.XML文件解析方法
- xml文件的dom4j解析
- DOM4j对xml解析
- xml解析-dom4j对XPATH的支持
- xml文件解析-DOM4J
- dom4j解析Xml文件
- DOM4J 解析XML文件
- dom4j解析xml文件
- dom4j解析XML文件
- dom4j解析xml文件
- dom4j 解析xml文件
- dom4j解析xml文件
- dom4j解析XML文件
- Dom4J解析XML文件
- web前端职业能力汇总
- C/C++经典程序训练3---模拟计算器
- 20171015
- 1011. A+B和C (15)
- 面试题总结——JAVA高级工程师
- 对xml文件的解析dom4j
- linux 命令
- Installation Installing SDKMAN
- SPOJSUBST1-New Distinct Substrings
- c# Post/Get提交调用抓取 asp.net
- IOS-React-Native:unable to find utility "instruments", not a developer tool or in PATH
- charles for mac 破解
- git笔记
- Linux下SVN安装教程