⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rolesxml.java

📁 基于struct结构的jsp
💻 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 + -