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

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