📄 boardxml.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 + -