【电力项目】角色管理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;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值