📄 linkxml.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.LinkXMLDTO;
/**
* <p>Title: Ntsky OpenSource BBS</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: 天网文化发展有限公司</p>
* @author 姚君林
* @version 1.0
*/
public class LinkXML{
private final static Logger logger = Logger.getLogger(LinkXML.class);
private String linkId = null;
/**
* 写信息
*/
public void writeXML(LinkXMLDTO linkXMLDTO){
Document document = null;
try {
document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_LINK);
}
catch (Exception ex) {
System.out.println("获取链接信息错误 :" + ex.getMessage());
}
Element root = document.getRootElement();
logger.info("加入新数据..............");
Element link = root.addElement("link").addAttribute("linkId",linkXMLDTO.getLinkId());
Element name = link.addElement("name").addText(linkXMLDTO.getName());
logger.info("设置name节点的值为 :" + linkXMLDTO.getLinkId());
Element url = link.addElement("url").addText(linkXMLDTO.getUrl());
logger.info("设置url节点的值为 :" + linkXMLDTO.getUrl());
Element logo = link.addElement("logo").addText(linkXMLDTO.getLogo());
logger.info("设置logo节点的值为 :" + linkXMLDTO.getLogo());
try {
XMLReadWrite.getInstance().write(document,XMLPath.NTSKY_LINK);
}
catch (Exception ex) {
logger.info("往XML中写入信息产生错误 : " + ex.getMessage());
ex.printStackTrace();
}
}
/**
* 修改信息
*/
public boolean editXML(){
return true;
}
/**
* 删除信息
*/
public void delXML(String linkId){
Document document = null;
try {
document = XMLReadWrite.getInstance().read(XMLPath.
NTSKY_LINK);
//根节点
Element root = document.getRootElement();
//获取link节点属性
List list_linkId = document.selectNodes("//link/@linkId");
Iterator rs_linkId = list_linkId.iterator();
while (rs_linkId.hasNext()) {
Iterator rs_root = root.elementIterator();
Node node = null;
for (; rs_root.hasNext(); ) {
node = (Node) rs_root.next();
//获取link节点的属性值
Attribute attribute = (Attribute) rs_linkId.next();
if (linkId.equals(attribute.getText())) {
logger.info("成功删除 " + node.getName() + " : " +
root.remove(node));
XMLReadWrite.getInstance().write(document,
XMLPath.NTSKY_LINK);
logger.info("重新写入数据成功!");
}
}
}
}
catch (Exception ex) {
logger.info("删除数据发生错误 : " + ex.getMessage());
}
}
/**
* 获取xml信息
*/
public ArrayList getLinkXML(){
ArrayList al = new ArrayList();
logger.info("开始获取XML文件信息");
try {
Document document = XMLReadWrite.getInstance().read(XMLPath.
NTSKY_LINK);
//枚举所有的节点
System.out.println("开始读取xml文件............");
/*List list = document.selectNodes("//link");
Iterator rs_root = list.iterator();*/
Element root = document.getRootElement();
//link的属性节点
List list_linkId = document.selectNodes("//link/@linkId");
Iterator rs_linkId=list_linkId.iterator();
while (rs_linkId.hasNext()) {
//枚举所有的节点
Iterator rs_root = root.elementIterator();
while (rs_root.hasNext()) {
Element element = (Element) rs_root.next();
LinkXMLDTO linkXMLDTO = new LinkXMLDTO();
//获取link的属性值
Attribute attribute = (Attribute) rs_linkId.next();
String linkId = attribute.getText();
linkXMLDTO.setLinkId(linkId);
logger.info("linkId的值为 :" + linkId);
//设置linkId的值
setLinkId(linkId);
//Attribute attribute = (Attribute)rs_root.next();
//linkXMLDTO.setLinkId(attribute.getText());
//logger.info("linkId属性的值为 : " + attribute.getText());
//name节点信息
Iterator rs_name = element.elementIterator("name");
while (rs_name.hasNext()) {
Element elt = (Element) rs_name.next();
linkXMLDTO.setName(elt.getText());
logger.info("name节点的值 :" + elt.getText());
}
//url节点信息
Iterator rs_url = element.elementIterator("url");
while (rs_url.hasNext()) {
Element elt = (Element) rs_url.next();
linkXMLDTO.setUrl(elt.getText());
logger.info("url节点的值 :" + elt.getText());
}
//logo节点信息
Iterator rs_logo = element.elementIterator("logo");
while (rs_logo.hasNext()) {
Element elt = (Element) rs_logo.next();
linkXMLDTO.setLogo(elt.getText());
logger.info("logo节点的值 :" + elt.getText());
}
al.add(linkXMLDTO);
logger.info("返回数据包");
}
}
return al;
}
catch (DocumentException ex) {
System.out.println("Document Exception : " + ex.getMessage());
}
catch (Exception ex) {
logger.error("获取XML信息产生错误 : " + ex.getMessage());
ex.printStackTrace();
}
return null;
}
/**
* 设置linkId的值
*/
public void setLinkId(String linkId){
this.linkId = linkId ;
}
/**
* 获取linkId的值
*/
public String getLinkId(){
return linkId;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -