这一次,学了一个新的东西,可以说是思想上的革命了,我重来没有这么想过,把一些复杂的常量独立出来写成一个专门的配置文件,这样做的好处不少。1,代码更具有灵活性,可扩展性。2,只读取一次,把全部存储于内存中,要哪一个就调用哪一个,不用全部取出。现在把读取xml配置文件的代码公布出来。忘记的时候可以看。
配置文件如下:
<?xml version="1.0"
encoding="UTF-8"?>
<exprots>
<export>
<paramsName value="GANBUDEPT"/>
<filename
value="处级部门正职候选名单.xls"/>
<tableViewName value="
R_cadremanageinfo"/>
<fieldsList value="
name,born,backedu,skillposilevel,curposilevel,curposileveltime,remark
"/>
<titleList
value="姓名,出生日期,学历,专技职务级别,当前职务级别,任当前职级日期,备注"/>
</export>
<export>
<paramsName value="GANBUDEPTFU"/>
<filename
value="处级部门副职候选名单.xls"/>
<tableViewName value="
R_cadremanageinfo"/>
<fieldsList value="
name,born,backedu,skillposilevel,curposilevel,curposileveltime,remark
"/>
<titleList
value="姓名,出生日期,学历,专技职务级别,当前职务级别,任当前职级日期,备注"/>
</export>
<export>
<paramsName value="GANBUASSISTANT"/>
<filename value="处级助理候选名单.xls"/>
<tableViewName value=" R_cadremanageinfo"/>
<fieldsList value=" name,born,backedu,remark "/>
<titleList
value="姓名,出生日期,学历,备注"/>
</export>
<export>
<paramsName value="GANBUCOLLEGE"/>
<filename value="二级学院学生科科长候选名单.xls"/>
<tableViewName value=" R_cadremanageinfo"/>
<fieldsList value=" name,curposi,pluofsoci "/>
<titleList
value="姓名,当前职务,社会兼职"/>
</export>
<export>
<paramsName value="GANBUMPC"/>
<filename
value="市委组织部中层领导干部格式.xls"/>
<tableViewName value="
R_cadremanageinfo"/>
<fieldsList value="
name,curposi,oriposi,curpositime,curposileveltime,sex,nation,born,registry,backedu,degree,backeduofworking,degreeofworking,skillposi,joinworktime,joinpartytime,remark
"/>
<titleList
value="姓名,当前职务,原任职务,任职时间,任现职级时间,性别,民族,出生年月,籍贯,
学历,学位,在职教育学历,在职教育学位,专业技术职务,参加工作时间,入党时间,备注"/>
</export></exports>
package com.my.util;
import java.net.URL;
import
java.util.ArrayList;
import java.util.Arrays;
import
java.util.HashMap;
import java.util.Iterator;
import
java.util.List;
import java.util.Map;
import
org.dom4j.Attribute;
import org.dom4j.Document;
import
org.dom4j.Element;
import org.dom4j.io.SAXReader;
public
class RleaseXml {
// 用map存储数据
private
static Map<String,String[]> map =new
HashMap<String,String[]>();
public void
RleaseXml(){
initXMLByName("exportCfg.xml");
}
public void initXMLByName(String
fileName){
/**
* 解析完成之后,对变量赋值并放入map中
*/
SAXReader
saxReader =new SAXReader();
Document
document =null;
try{
URL xmlPath
=this.getClass().getClassLoader().getResource(fileName);
document
=saxReader.read(xmlPath);
Element root =document.getRootElement();
int a=
root.elements().size();
String rootName = root.getName();
for(Iterator iter =
root.elementIterator();iter.hasNext();){
Element element
=(Element)iter.next();
String look = element.getName();
String[] strs = new
String[5];
for(int i=0;i<a;i++){
strs[0]=
element.element("paramsName").attributeValue("value");
strs[1] =
element.element("filename").attributeValue("value");
strs[2] =
element.element("tableViewName").attributeValue("value");
strs[3] =
element.element("fieldsList").attributeValue("value");
strs[4] =
element.element("titleList").attributeValue("value");
map.put(strs[0], strs);
}
}
}
catch(Exception
e){
e.getStackTrace();
}
}
//根据Key,得到value
public
static String[] getStringByName(String name){
return map.get(name);
}
}
原文:http://www.cnblogs.com/wsm1991/p/3554661.html