电力项目角色管理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的主要内容,如果未能解决你的问题,请参考以下文章

java 解析xml(dom4j.jar)

java解析XML

DevOps之基础设施-电力

Java文件解析xml文件转成 map

微信公众号开发之解析xml数据包

5G边缘计算与电力设施融合部署模式探析