电力项目角色管理dom4j.jar解析xml
Posted xuzhuaaron1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电力项目角色管理dom4j.jar解析xml相关的知识,希望对你有一定的参考价值。
XmlObject.java
package cn.itcast.elec.util;
/*** 存放Function.xml文件中
* 获取的权限 权限code 权限名称 父级权限code 父级权限名称
*
*/
public class XmlObject implements java.io.Serializable
private String code; // 权限code
private String name; // 权限名称
private String parentCode;// 父级权限code
private String parentName;// 父级权限名称
/**
* 判断角色编辑的页面中,权限的复选框是否被选中的标识
* 如果 flag = 0,表示该角色不具有的权限,则页面中权限复选框不被选中
* 如果 flag = 1,表示该角色具有此权限,则页面中的权限复选框被选中
*/
private String flag;
public String getFlag()
return flag;
public void setFlag(String flag)
this.flag = flag;
public String getCode()
return code;
public void setCode(String code)
this.code = code;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getParentCode()
return parentCode;
public void setParentCode(String parentCode)
this.parentCode = parentCode;
public String getParentName()
return parentName;
public void setParentName(String parentName)
this.parentName = parentName;
需要使用dom4j-1.6.1.jar
Function.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletContext;
import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* @Name: readXml
* @Description: 从Function.xml文件中查询系统所有的功能权限
* 存放到XmlObject对象中
* @Author: 刘洋(作者)
* @Version: V1.00 (版本号)
* @Create Date: 2011-12-27 (创建日期)
* @Parameters: 无
* @Return: List<XmlObject> 权限的集合
*/
public List<XmlObject> readXml()
//这种是写死了,如果项目部署在D盘就不行了,在struts2里面有一个方法可以做活
//File f = new File("E:\\\\apache-tomcat-7.0.61-windows-x86\\\\apache-tomcat-7.0.61\\\\webapps\\\\itcast1222elec\\\\WEB-INF\\\\classes\\\\Function.xml");
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;
以上是关于电力项目角色管理dom4j.jar解析xml的主要内容,如果未能解决你的问题,请参考以下文章