父类:
package com.siku.manorage.common.readsend.xml;
import java.io.StringReader;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class BaseReaderXml {
public SAXReader getSAXReader() {
return new SAXReader();
}
public Document getDocument(String file) throws Exception {
StringReader in = new StringReader(file);
return this.getSAXReader().read(in);
}
public Element getRootElement(String file) throws Exception {
return this.getDocument(file).getRootElement();
}
}
子类:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Element;
【XML|xml 解析成map】/**
* 接受前台传来数据(XML)到后台进行解析
*
**
*/
public class ReceiveClientXml extends BaseReaderXml {
/**
* 把拦截器里面的string 类型的xml 转化为一个map
* @param file
* @return 把前台传过来的xml 解析出来 放到一个map 里面
* @throws Exception
*/
@SuppressWarnings("unchecked")
public Map receivedClientXml(String file) throws Exception {
Map map = new HashMap();
List elementList = new ArrayList();
Element root = this.getRootElement(file);
Iterator
for (;
it.hasNext();
)
{
Element ele = it.next();
if("element".equals(ele.getName().trim()))//二级结构..modified by zhangzhao 2010-3-27
{
Iterator
HashMap map2 = new HashMap();
for(;
it2.hasNext();
)
{
Element ele2 = it2.next();
map2.put(ele2.getName().trim(), ele2.getTextTrim());
}
elementList.add(map2);
}
else
{
map.put(ele.getName(), ele.getTextTrim());
}
}
map.put("elementList", elementList);
return map;
}
}
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)