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

📄 xmlmanager.java

📁 系统包含求职用户和系统管理员两个角色
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * 创建日期 2005-8-18
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.publish.jxc.charpter9;

import java.util.ArrayList;
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class XMLManager {
    static Document document;
   
    private boolean validating = false;
     
    public XMLManager()
    {   
    }
    
    private boolean openXMLDocument(String fileName)
    {
        boolean bool = true;
        try
        {
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
	        factory.setValidating(validating);
	        factory.setNamespaceAware(false);
	        DocumentBuilder builder = factory.newDocumentBuilder();
	        document = builder.parse(new File(fileName));
	        document.getDocumentElement().normalize();
        }
        catch(Exception exp)
        {
            exp.printStackTrace();
            bool = false;
        }
        return bool;
    }
    
    public ArrayList readUserXML(String fileName)
    {
        ArrayList users = null;
        try
        {
            if (openXMLDocument(fileName) == false)
                return users;
            users = new ArrayList();
            Node rootNode = document.getFirstChild();
            NodeList nodes = rootNode.getChildNodes();
            int length = nodes.getLength();
            for(int i=0; i<length; i++)
            {
                Node node = nodes.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE)
                {
                    if ("user".equalsIgnoreCase(node.getNodeName()))
                    {
                        users.add(UnmarshallUser(node));
                    }
                }
            }
        }
        catch(Exception exp)
        {
            exp.printStackTrace();
            return null;
        }
        return users;
    }
    
    public ArrayList readCompanyXML(String fileName)
    {
        ArrayList companies = null;
        try
        {
            if (openXMLDocument(fileName) == false)
                return companies;
            companies = new ArrayList();
            Node rootNode = document.getFirstChild();
            NodeList nodes = rootNode.getChildNodes();
            int length = nodes.getLength();
            for(int i=0; i<length; i++)
            {
                Node node = nodes.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE)
                {
                    if ("company".equalsIgnoreCase(node.getNodeName()))
                    {
                        companies.add(UnmarshallCompany(node));
                    }
                }
            }
        }
        catch(Exception exp)
        {
            exp.printStackTrace();
            return null;
        }
        return companies;
    }
    
    public ArrayList readJobXML(String fileName)
    {
        ArrayList jobs = null;
        try
        {
            if (openXMLDocument(fileName) == false)
                return jobs;
            jobs = new ArrayList();
            Node rootNode = document.getFirstChild();
            Element element = (Element)rootNode;
            String companyid = element.getAttribute("companyid"); 
            NodeList nodes = rootNode.getChildNodes();
            int length = nodes.getLength();
            for(int i=0; i<length; i++)
            {
                Node node = nodes.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE)
                {
                    if ("job".equalsIgnoreCase(node.getNodeName()))
                    {  
                        jobs.add(UnmarshallJob(node, companyid));
                    }
                }
            }
        }
        catch(Exception exp)
        {
            exp.printStackTrace();
            return null;
        }
        return jobs;
    }
    
    public ArrayList readActionXML(String fileName)
    {
        ArrayList actions = null;
        try
        {
            if (openXMLDocument(fileName) == false)
                return actions;
            actions = new ArrayList();
            Node rootNode = document.getFirstChild();
            NodeList nodes = rootNode.getChildNodes();
            int length = nodes.getLength();
            for(int i=0; i<length; i++)
            {
                Node node = nodes.item(i);
                if (node.getNodeType() == Node.ELEMENT_NODE)
                {
                    if ("action".equalsIgnoreCase(node.getNodeName()))
                    {  
                        actions.add(UnmarshallAction(node));
                    }
                }
            }
        }
        catch(Exception exp)
        {
            exp.printStackTrace();
            return null;
        }
        return actions;
    }
    
    public UserXMLModel UnmarshallUser(Node userNode) 
    {
        UserXMLModel user = new UserXMLModel();
        NodeList nodes = userNode.getChildNodes();
        int length = nodes.getLength();
        for (int i=0; i<length; i++) 
        {
            Node node = nodes.item(i);
            String nodeName = node.getNodeName();
            String str = UnmarshallText(node);
            if ("id".equalsIgnoreCase(nodeName))
            {
                user.setId(str);
            }
            else if("name".equalsIgnoreCase(nodeName))
            {
                user.setName(str);
            }
            else if("password".equalsIgnoreCase(nodeName))
            {
                user.setPassword(str);
            }
            else if("trueName".equalsIgnoreCase(nodeName))
            {
                user.setTrueName(str);
            }
            else if("roles".equalsIgnoreCase(nodeName))
            {
                user.setRoles(str);
            }
        }
        return user;
    }
     
    public CompanyXMLModel UnmarshallCompany(Node companyNode) 
    {
        CompanyXMLModel company = new CompanyXMLModel();
        NodeList nodes = companyNode.getChildNodes();
        int length = nodes.getLength();
        for (int i=0; i<length; i++) 
        {
            Node node = nodes.item(i);
            String nodeName = node.getNodeName();
            String str = UnmarshallText(node);
            if ("id".equalsIgnoreCase(nodeName))
            {
                company.setId(str);
            }
            else if("name".equalsIgnoreCase(nodeName))
            {
                company.setName(str);
            }
            else if("kind".equalsIgnoreCase(nodeName))
            {
                company.setKind(str);
            }
            else if("telephone".equalsIgnoreCase(nodeName))
            {
                company.setTelephone(str);
            }
            else if("introduce".equalsIgnoreCase(nodeName))
            {
                company.setIntroduce(str);
            }
        }
        return company;
    }
    
    public JobXMLModel UnmarshallJob(Node jobNode, String companyid) 
    {
        JobXMLModel job = new JobXMLModel();
        job.setCompanyid(companyid);
        NodeList nodes = jobNode.getChildNodes();
        int length = nodes.getLength();
        for (int i=0; i<length; i++) 
        {
            Node node = nodes.item(i);
            String nodeName = node.getNodeName();
            String str = UnmarshallText(node);
            if ("name".equalsIgnoreCase(nodeName))
            {
                job.setName(str);
            }
            else if("xueli".equalsIgnoreCase(nodeName))
            {
                job.setXueli(str);
            }
            else if("speciality".equalsIgnoreCase(nodeName))
            {
                job.setSpeciality(str);
            }
            else if("skills".equalsIgnoreCase(nodeName))
            {
                job.setSkills(str);
            }
            else if("counts".equalsIgnoreCase(nodeName))
            {
                job.setCounts(str);
            }
        }
        return job;
    }
    
    public ActionXMLModel UnmarshallAction(Node actionNode) 
    {
        ActionXMLModel action = new ActionXMLModel();
        NodeList nodes = actionNode.getChildNodes();
        int length = nodes.getLength();
        for (int i=0; i<length; i++) 
        {
            Node node = nodes.item(i);
            String nodeName = node.getNodeName();
            String str = UnmarshallText(node);
            if ("name".equalsIgnoreCase(nodeName))
            {
                action.setName(str);
            }
            else if("url".equalsIgnoreCase(nodeName))
            {
                action.setUrl(str);
            }
            else if("actionmodel".equalsIgnoreCase(nodeName))
            {
                action.setActionmodel(str);
            }
            else if("xmlfile".equalsIgnoreCase(nodeName))
            {
                action.setXmlfile(str);
            }
            else if("commandmodel".equalsIgnoreCase(nodeName))

⌨️ 快捷键说明

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