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

📄 boardxml.java

📁 基于struct结构的jsp
💻 JAVA
字号:
package com.ntsky.xml.bbs;

/**
 * <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
 */
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.Board;
import com.ntsky.xml.XMLReadWrite;
import com.ntsky.bbs.service.db.DBBoard;

public class BoardXML {
    private final static Logger logger = Logger.getLogger(BoardXML.class);

    /**
     * 往xml写数据
     */
    public void writeXML(Iterator iteraotor){
        Document document =  DocumentHelper.createDocument();
        Element root = document.addElement("ntsky");
        logger.info("开始写board信息......");
        //board数据库信息入XML
        Iterator rs = iteraotor;
        while(rs.hasNext()){
            Board boardDTO = (DBBoard)rs.next();
            Element board = root.addElement("board");
            Element boaId = board.addElement("boaId").addText(String.valueOf(boardDTO.getBoaId()));
            Element boaType = board.addElement("boaType").addText(String.valueOf(boardDTO.getBoaType()));
            Element boaParId = board.addElement("boaParId").addText(String.valueOf(boardDTO.getBoaParId()));
            Element boaParENUM = board.addElement("boaParENUM").addText(String.valueOf(boardDTO.getBoaParENUM()));
            Element boaDepth = board.addElement("boaDepth").addText(String.valueOf(boardDTO.getBoaDepth()));
            Element boaRootId = board.addElement("boaRootId").addText(String.valueOf(boardDTO.getBoaRootId()));
            Element boaChild = board.addElement("boaChild").addText(String.valueOf(boardDTO.getBoaChild()));
            Element boaOrders = board.addElement("boaOrders").addText(String.valueOf(boardDTO.getBoaOrders()));
            Element boaInfo = board.addElement("boaInfo").addText(String.valueOf(boardDTO.getBoaInfo()));
            Element boaMaster = board.addElement("boaMaster").addText(String.valueOf(boardDTO.getBoaMaster()));
            Element boaState = board.addElement("boaState").addText(String.valueOf(boardDTO.getBoaState()));
            Element boaPasswd = board.addElement("boaPasswd").addText(String.valueOf(boardDTO.getBoaPasswd()));
            Element boaCreTime = board.addElement("boaCreTime").addText(String.valueOf(boardDTO.getBoaCreTime()));
        }
        try {
            XMLReadWrite.getInstance().write(document,XMLPath.NTSKY_BOARD);
        }
        catch (Exception ex) {
            logger.info("往XML中写入信息产生错误 : " + ex.getMessage());
            ex.printStackTrace();
        }
    }

    /**
     * 读取XML数据
     */
    public Iterator getBoardXML(){
        ArrayList arrayList = new ArrayList();
        try {
            Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_BOARD);
            //枚举所有的节点
            logger.info("开始读取xml文件............");
            Element root = document.getRootElement();
            //枚举所有的节点
            Iterator rs_root = root.elementIterator();
            logger.info("board是否有xml节点 :" + String.valueOf(rs_root.hasNext()));
            for (; rs_root.hasNext(); ) {
                Board board = new DBBoard();
                //获取节点
                Element element = (Element) rs_root.next();
                setNode(board,element,"boaId");
                setNode(board,element,"boaType");
                setNode(board,element,"boaParId");
                setNode(board,element,"boaParENUM");
                setNode(board,element,"boaDepth");
                setNode(board,element,"boaRootId");
                setNode(board,element,"boaChild");
                setNode(board,element,"boaOrders");
                setNode(board,element,"boaInfo");
                setNode(board,element,"boaMaster");
                setNode(board,element,"boaState");
                setNode(board,element,"boaPasswd");
                setNode(board,element,"boaCreTime");
                arrayList.add(board);
            }
        }
        catch (Exception ex) {
            logger.error("读取模板XML产生错误 : " + ex.getMessage());
        }
        return arrayList.iterator();
    }
    /**
     * 从xml检索数据的方法
     * @param board Board
     * @param element Element
     * @param node String
     */
    public synchronized void setNode(Board board ,Element element ,String node ){
        Iterator rs = element.elementIterator(node);
        while (rs.hasNext()) {
           Element elt = (Element) rs.next();
           if("boaId".equals(node)){
               board.setBoaId(Integer.parseInt(elt.getText()));
               logger.info("boaId节点的值 :" + elt.getText());
           }
           if("boaType".equals(node)){
               board.setBoaType(elt.getText());
               logger.info("boaType节点的值 :" + elt.getText());
           }
           if("boaParId".equals(node)){
               board.setBoaParId(Integer.parseInt(elt.getText()));
               logger.info("boaParId节点的值 :" + elt.getText());
           }
           if("boaParENUM".equals(node)){
               board.setBoaParENUM(elt.getText());
               logger.info("boaParENUM节点的值 :" + elt.getText());
           }
           if("boaDepth".equals(node)){
               board.setBoaDepth(Integer.parseInt(elt.getText()));
               logger.info("boaDepth节点的值 :" + elt.getText());
           }
           if("boaRootId".equals(node)){
               board.setBoaRootId(Integer.parseInt(elt.getText()));
               logger.info("boaRootId节点的值 :" + elt.getText());
           }
           if("boaChild".equals(node)){
               board.setBoaChild(Integer.parseInt(elt.getText()));
               logger.info("boaChild节点的值 :" + elt.getText());
           }
           if("boaOrders".equals(node)){
               board.setBoaOrders(Integer.parseInt(elt.getText()));
               logger.info("boaOrders节点的值 :" + elt.getText());
           }
           if("boaInfo".equals(node)){
               board.setBoaInfo(elt.getText());
               logger.info("boaInfo节点的值 :" + elt.getText());
           }
           if("boaMaster".equals(node)){
               board.setBoaMaster(elt.getText());
               logger.info("boaMaster节点的值 :" + elt.getText());
           }
           if("boaState".equals(node)){
               board.setBoaState(Integer.parseInt(elt.getText()));
               logger.info("boaState节点的值 :" + elt.getText());
           }
           if("boaPasswd".equals(node)){
               board.setBoaPasswd(elt.getText());
               logger.info("boaPasswd节点的值 :" + elt.getText());
           }
           if ("boaCreTime".equals(node)) {
               board.setBoaCreTime(elt.getText());
               logger.info("boaCreTime节点的值 :" + elt.getText());
           }
       }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -