?? xmlmanager.java
字號:
/*
* 創建日期 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 + -