📄 topicconfigxml.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.xml.XMLReadWrite;
import com.ntsky.xml.bbs.dto.TopicConfigDTO;
/**
* <p>Title: Ntsky OpenSource BBS</p>
* <p>Description: 帖子配置的xml操作类</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: WWW.FM880.COM</p>
* @author 姚君林
* @version 1.0
*/
public class TopicConfigXML {
private final static Logger logger = Logger.getLogger(LinkXML.class);
private static TopicConfigXML topicConfigXML = null;
private static Object initLock = new Object();
public static TopicConfigXML getInstance() {
if (topicConfigXML == null) {
//使用synchronzed保证一次只有一个实例能访问DBUser对象
synchronized (initLock) {
if (topicConfigXML == null) {
try {
topicConfigXML = new TopicConfigXML();
logger.info("获取数据库处理的实例成功");
}
catch (Exception e) {
System.err.println(
"TopicConfigXML Exception loading class: " +
e.getMessage());
e.printStackTrace();
}
}
}
}
return topicConfigXML;
}
/**
* 写信息
*/
public void writeXML(TopicConfigDTO topicConfigDTO){
}
/**
* 修改信息
*/
public void upTopicConfig(TopicConfigDTO topicConfigDTO){
try{
Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_TOPICCONFIG);
List list = document.selectNodes("//ntsky ");
Iterator rs = list.iterator();
while(rs.hasNext()){
Element element=(Element)rs.next();
logger.info("节点列表......");
upNode(element, "topicNew" ,topicConfigDTO.getTopicNew());
upNode(element, "topicCommon" ,topicConfigDTO.getTopicCommon());
upNode(element, "topicHot" ,topicConfigDTO.getTopicHot());
upNode(element, "topicElite" ,topicConfigDTO.getTopicElite());
upNode(element, "topicTop" ,topicConfigDTO.getTopicTop());
upNode(element, "topicLock" ,topicConfigDTO.getTopicLock());
upNode(element, "topicpoll" ,topicConfigDTO.getTopicpoll());
upNode(element, "topicNum" ,String.valueOf(topicConfigDTO.getTopicNum()));
}
XMLReadWrite.getInstance().write(document, XMLPath.NTSKY_TOPICCONFIG);
}
catch (Exception ex) {
System.out.print("写入XML数据发生错误 : " + ex.getMessage());
}
}
public synchronized void upNode(Element element ,String node ,String value){
Iterator rs = element.elementIterator(node);
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if ("topicNew".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicCommon".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicHot".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicElite".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicTop".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicLock".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicpoll".equals(node)) {
if("".equals(value)){
value = "*.gif";
elt.setText(value);
}
else{
elt.setText(value);
}
}
if ("topicNum".equals(node)) {
if("".equals(value)){
value = "0";
elt.setText(value);
}
else{
elt.setText(value);
}
}
}
}
/**
* 删除信息
*/
public void delXML(){
}
/**
* 获取xml信息
*/
public TopicConfigDTO getTopicConfigXML(){
try {
Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_TOPICCONFIG);
//枚举所有的节点
Element root = document.getRootElement();
TopicConfigDTO topicConfigDTO = new TopicConfigDTO();
//获取节点
setNode(topicConfigDTO,root,"topicNew");
setNode(topicConfigDTO,root,"topicCommon");
setNode(topicConfigDTO,root,"topicHot");
setNode(topicConfigDTO,root,"topicElite");
setNode(topicConfigDTO,root,"topicTop");
setNode(topicConfigDTO,root,"topicLock");
setNode(topicConfigDTO,root,"topicpoll");
setNode(topicConfigDTO,root,"topicNum");
return topicConfigDTO;
}
catch (DocumentException ex) {
System.out.println("Document Exception : " + ex.getMessage());
}
catch (Exception ex) {
logger.error("获取XML信息产生错误 : " + ex.getMessage());
ex.printStackTrace();
}
return null;
}
public synchronized void setNode(TopicConfigDTO topicConfigDTO ,Element element ,String node ){
Iterator rs = element.elementIterator(node);
while (rs.hasNext()) {
Element elt = (Element) rs.next();
if ("topicNew".equals(node)) {
topicConfigDTO.setTopicNew(elt.getText());
logger.info("topicNew节点的值 :" + elt.getText());
}
if("topicCommon".equals(node)){
topicConfigDTO.setTopicCommon(elt.getText());
logger.info("topicCommon节点的值 :" + elt.getText());
}
if("topicHot".equals(node)){
topicConfigDTO.setTopicHot(elt.getText());
logger.info("topicHot节点的值 :" + elt.getText());
}
if("topicElite".equals(node)){
topicConfigDTO.setTopicElite(elt.getText());
logger.info("topicElite节点的值 :" + elt.getText());
}
if("topicTop".equals(node)){
topicConfigDTO.setTopicTop(elt.getText());
logger.info("topicTop节点的值 :" + elt.getText());
}
if("topicLock".equals(node)){
topicConfigDTO.setTopicLock(elt.getText());
logger.info("topicLock节点的值 :" + elt.getText());
}
if("topicpoll".equals(node)){
topicConfigDTO.setTopicpoll(elt.getText());
logger.info("topicpoll节点的值 :" + elt.getText());
}
if("topicNum".equals(node)){
topicConfigDTO.setTopicNum(Integer.parseInt(elt.getText()));
logger.info("topicNum节点的值 :" + elt.getText());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -