📄 rolesxml.java
字号:
package com.ntsky.xml.bbs;
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
import org.dom4j.dom.*;
import org.apache.log4j.Logger ;
import com.ntsky.xml.XMLPath;
import com.ntsky.bbs.service.Roles;
import com.ntsky.xml.XMLReadWrite;
import com.ntsky.bbs.service.db.DBRoles;
/**
* <p>Title: Ntsky OpenSource BBS</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: WWW.FM880.COM</p>
* @author 姚君林
* @version 1.0
*/
public class RolesXML {
private final static Logger logger = Logger.getLogger(RolesXML.class);
private int roleId = 0;
/**
* 往xml写数据
*/
public void writeXML(Roles role){
Document document = null;
Element root = null;
try {
document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_ROLES);
root = document.getRootElement();
}
catch (Exception ex) {
document = DocumentHelper.createDocument();
root = document.addElement("ntsky");
logger.error("设置权限点时,读取原始数据出错"+ex.getMessage());
}
logger.info("开始写roles信息......");
//roles数据库信息入XML
Element roles = root.addElement("roles");
Element roleId = roles.addElement("roleId").addText(String.valueOf(
role.getRoleId()));
Element roleName = roles.addElement("roleName").addText(role.getRoleName());
Element roleMin = roles.addElement("roleMin").addText(String.valueOf(role.getRoleMin()));
Element rolePic = roles.addElement("rolePic").addText(role.getRolePic());
Element roleDesc = roles.addElement("roleDesc").addText(role.getRoleDesc());
if(role.getRoleEnuStr() == ""){
Element roleEnuStr = roles.addElement("roleEnuStr").addText("0");
}
else{
Element roleEnuStr = roles.addElement("roleEnuStr").addText(role.getRoleEnuStr());
}
Element roleIsDel = roles.addElement("roleIsDel").addText(String.valueOf(role.getRoleIsDel()));
try {
XMLReadWrite.getInstance().write(document,XMLPath.NTSKY_ROLES);
}
catch (Exception ex) {
logger.info("往XML中写入信息产生错误 : " + ex.getMessage());
ex.printStackTrace();
}
}
/**
* 读取单条纪录
* @param roleId int
* @return Roles
*/
public Roles getSelRolesXML(int roleId){
Document document = null;
Roles roles = null;
try {
document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_ROLES);
//根节点
Element root = document.getRootElement();
Iterator rs_root = root.elementIterator();
while (rs_root.hasNext()) {
Element element = (Element) rs_root.next();
Iterator rs = element.elementIterator("roleId");
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if (String.valueOf(roleId).equals(elt.getText())) {
roles = new DBRoles();
roles.setRoleId(roleId);
setNode(roles,element,"roleName");
setNode(roles,element,"roleMin");
setNode(roles,element,"rolePic");
setNode(roles,element,"roleDesc");
setNode(roles,element,"roleEnuStr");
setNode(roles,element,"roleIsDel");
}
}
}
}
catch (Exception ex) {
logger.error("删除数据发生错误 : " + ex.getMessage());
}
return roles;
}
/**
* 读取XML数据
*/
public List getRolesXML(){
List list = new ArrayList();
try {
Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_ROLES);
//枚举所有的节点
logger.info("开始读取xml文件............");
Element root = document.getRootElement();
//枚举所有的节点
Iterator rs_root = root.elementIterator();
for (; rs_root.hasNext(); ) {
Roles roles = new DBRoles();
//获取节点
Element element = (Element) rs_root.next();
setNode(roles,element,"roleId");
setNode(roles,element,"roleName");
setNode(roles,element,"roleMin");
setNode(roles,element,"rolePic");
setNode(roles,element,"roleDesc");
setNode(roles,element,"roleEnuStr");
setNode(roles,element,"roleIsDel");
list.add(roles);
}
}
catch (Exception ex) {
logger.error("读取角色XML产生错误 : " + ex.getMessage());
}
return list;
}
private void setRoleId(int roleId) {
this.roleId = roleId;
}
public int getRoleId() {
return roleId;
}
/**
* 删除XML中roleId对应的纪录
* @param roleId int
*/
public void delRoles(int roleId) {
Document document = null;
try {
document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_ROLES);
//根节点
Element root = document.getRootElement();
Iterator rs_root = root.elementIterator();
while (rs_root.hasNext()) {
Element element = (Element) rs_root.next();
Iterator rs = element.elementIterator("roleId");
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if (String.valueOf(roleId).equals(elt.getText())) {
root.remove(element);
XMLReadWrite.getInstance().write(document,
XMLPath.NTSKY_ROLES);
}
}
}
}
catch (Exception ex) {
logger.error("删除数据发生错误 : " + ex.getMessage());
}
}
/**
* 从xml检索数据的方法
* @param board Board
* @param element Element
* @param node String
*/
private synchronized void setNode(Roles roles ,Element element ,String node ){
Iterator rs = element.elementIterator(node);
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if("roleId".equals(node)){
setRoleId(Integer.parseInt(elt.getText()));
roles.setRoleId(Integer.parseInt(elt.getText()));
}
if("roleName".equals(node)){
roles.setRoleName(elt.getText());
}
if("roleMin".equals(node)){
roles.setRoleMin(Integer.parseInt(elt.getText()));
}
if("rolePic".equals(node)){
roles.setRolePic(elt.getText());
}
if("roleDesc".equals(node)){
roles.setRoleDesc(elt.getText());
}
if("roleEnuStr".equals(node)){
roles.setRoleEnuStr(elt.getText());
}
if("roleIsDel".equals(node)){
roles.setRoleIsDel(Integer.parseInt(elt.getText()));
}
}
}
/**
* 更新XML
* @param rightsId int
*/
public void upRoles(Roles roles){
try {
Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_ROLES);
//枚举所有的节点
logger.info("开始读取xml文件............");
Element root = document.getRootElement();
//枚举所有的节点
Iterator rs_root = root.elementIterator();
for (; rs_root.hasNext(); ) {
//获取节点
Element element = (Element) rs_root.next();
Iterator rs = element.elementIterator("roleId");
while (rs.hasNext()) {
Element elt = (Element) rs.next();
String roleId = String.valueOf(roles.getRoleId());
System.out.println("roleId.equals(elt.getText()) = " + roleId.equals(elt.getText()) + roleId);
if (roleId.equals(elt.getText())) {
upNode(roles,element,"roleId");
upNode(roles,element,"roleName");
upNode(roles,element,"roleMin");
upNode(roles,element,"rolePic");
upNode(roles,element,"roleDesc");
upNode(roles,element,"roleEnuStr");
upNode(roles,element,"roleIsDel");
//写数据
XMLReadWrite.getInstance().write(document,XMLPath.NTSKY_ROLES);
}
}
}
}
catch (Exception ex) {
logger.error("读取权限XML产生错误 : " + ex.getMessage());
}
}
/**
* 更新xml数据的方法
* @param board Board
* @param element Element
* @param node String
*/
private synchronized void upNode(Roles roles, Element element, String node) {
Iterator rs = element.elementIterator(node);
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if("roleId".equals(node)){
elt.setText(String.valueOf(roles.getRoleId()));
}
if("roleName".equals(node)){
elt.setText(String.valueOf(roles.getRoleName()));
}
if("roleMin".equals(node)){
elt.setText(String.valueOf(roles.getRoleMin()));
}
if("rolePic".equals(node)){
elt.setText(roles.getRolePic());
}
if("roleDesc".equals(node)){
elt.setText(roles.getRoleDesc());
}
if("roleEnuStr".equals(node)){
elt.setText(roles.getRoleEnuStr());
}
if("roleIsDel".equals(node)){
elt.setText(String.valueOf(roles.getRoleIsDel()));
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -