Funtion.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
应对需求变更:
原数据a,b,c,d,e,f,g,h......
数据库中的存储结构,即组成权限的字符串String popedom = abcdefth......
页面控制popedom.contains("a") 是否具有权限
现数据aa,ab,ac,ad...az,ba,bb,bc...bz,ca......
数据库中存储结构,即组成权限的字符串String popedom = aa@ab@ac@ad......
页面控制 popedom.contains("aa") 是否具有权限
或者String [] dom = popedom.split("@");
dom[i].equal("aa"),用于判断是否具有权限
-->
<ElecData>
<Function>
<FunctionCode>a</FunctionCode>
<FunctionName>仪器设备管理</FunctionName>
<ParentCode>device</ParentCode>
<ParentName>技术设施维护管理</ParentName>
</Function>
<Function>
<FunctionCode>b</FunctionCode>
<FunctionName>设备校准检修</FunctionName>
<ParentCode>device</ParentCode>
<ParentName>技术设施维护管理</ParentName>
</Function>
<Function>
<FunctionCode>c</FunctionCode>
<FunctionName>设备购置计划</FunctionName>
<ParentCode>device</ParentCode>
<ParentName>技术设施维护管理</ParentName>
</Function>
<Function>
<FunctionCode>d</FunctionCode>
<FunctionName>资料图纸管理</FunctionName>
<ParentCode>informationAndPaper</ParentCode>
<ParentName>技术资料图纸管理</ParentName>
</Function>
<Function>
<FunctionCode>e</FunctionCode>
<FunctionName>站点基本信息</FunctionName>
<ParentCode>station</ParentCode>
<ParentName>站点设备运行管理</ParentName>
</Function>
<Function>
<FunctionCode>f</FunctionCode>
<FunctionName>运行情况</FunctionName>
<ParentCode>station</ParentCode>
<ParentName>站点设备运行管理</ParentName>
</Function>
<Function>
<FunctionCode>g</FunctionCode>
<FunctionName>维护情况</FunctionName>
<ParentCode>station</ParentCode>
<ParentName>站点设备运行管理</ParentName>
</Function>
<Function>
<FunctionCode>h</FunctionCode>
<FunctionName>监测台建筑管理</FunctionName>
<ParentCode>jct</ParentCode>
<ParentName>监测台建筑管理</ParentName>
</Function>
<Function>
<FunctionCode>i</FunctionCode>
<FunctionName>角色管理</FunctionName>
<ParentCode>sysmng</ParentCode>
<ParentName>系统管理</ParentName>
</Function>
<Function>
<FunctionCode>j</FunctionCode>
<FunctionName>待办事宜</FunctionName>
<ParentCode>sysmng</ParentCode>
<ParentName>系统管理</ParentName>
</Function>
<Function>
<FunctionCode>k</FunctionCode>
<FunctionName>数据字典维护</FunctionName>
<ParentCode>sysmng</ParentCode>
<ParentName>系统管理</ParentName>
</Function>
<Function>
<FunctionCode>l</FunctionCode>
<FunctionName>新增功能</FunctionName>
<ParentCode>operate</ParentCode>
<ParentName>操作权限分配</ParentName>
</Function>
<Function>
<FunctionCode>m</FunctionCode>
<FunctionName>删除功能</FunctionName>
<ParentCode>operate</ParentCode>
<ParentName>操作权限分配</ParentName>
</Function>
<Function>
<FunctionCode>n</FunctionCode>
<FunctionName>编辑功能</FunctionName>
<ParentCode>operate</ParentCode>
<ParentName>操作权限分配</ParentName>
</Function>
</ElecData>
用dom4j解析
XmlObject为自己创建的实体类
public List<XmlObject> readXml() {
ServletContext servletContext = ServletActionContext.getServletContext();
String realPath = servletContext.getRealPath("/WEB-INF/classes/Function.xml");
File f = new File(realPath);
List<XmlObject> xmlList = new ArrayList<XmlObject>();
//使用dom4j读取配置文件
try {
SAXReader reader = new SAXReader();
Document document = reader.read(f);
Element element = document.getRootElement();
XmlObject xmlObject = null;
/**
* Function:对应配置文件中的Function元素节点
* FunctionCode:对应配置文件中Function元素节点下的FunctionCode元素节点
* FunctionName:对应配置文件中Function元素节点下的FunctionName元素节点
* ParentCode:对应配置文件中Function元素节点下的ParentCode元素节点
* ParentName:对应配置文件中Function元素节点下的ParentName元素节点
*/
for(Iterator<Element> iter = element.elementIterator("Function");iter.hasNext();){
Element xmlElement = iter.next();
xmlObject = new XmlObject();
xmlObject.setCode(xmlElement.elementText("FunctionCode"));
xmlObject.setName(xmlElement.elementText("FunctionName"));
xmlObject.setParentCode(xmlElement.elementText("ParentCode"));
xmlObject.setParentName(xmlElement.elementText("ParentName"));
xmlList.add(xmlObject);
}
} catch (DocumentException e) {
e.printStackTrace();
}
return xmlList;
}