package com.zhengxin.eoms.check.common.util;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.zhengxin.eoms.check.service.exception.KhException;
/**
* xml配置文件解析类
* @author Administrator
*
*/
public class XmlUtil {
private InputStream is;
private Map datas=new HashMap();
public XmlUtil(String configFilePath){
if(configFilePath==null){
throw new KhException("没有初始化配置文件");
}
try{
is=this.getClass().getResourceAsStream(configFilePath);
}catch(Exception e){
throw new KhException("找不到配置文件");
}
init();
}
private void init(){
SAXReader sax=new SAXReader();
try{
Document doc=sax.read(is);
List dicList=doc.selectNodes("/dictionary/dic");
Iterator it1=dicList.iterator();
while(it1.hasNext()){
Element dic=(Element) it1.next();
String type=dic.attributeValue("type");
// System.out.println("type="+type);
List data=new ArrayList();
List wordList=dic.elements();
Iterator it2=wordList.iterator();
while(it2.hasNext()){
Element word=(Element) it2.next();
String code=word.attributeValue("code");
String name=word.getTextTrim();
// System.out.println("code="+code+" name="+name);
ConfigData cd=new ConfigData(code,name);
data.add(cd);
}
datas.put(type, data);
}
}catch(Exception e){
throw new KhException("无法解析xml配置文件");
}
}
public Map getDatas() {
return datas;
}
public void setDatas(Map datas) {
this.datas = datas;
}
public static void main(String args[]){
XmlUtil xml=new XmlUtil("/com/zhengxin/eoms/check/config/checkData.xml");
Map map=xml.getDatas();
List list=(List) map.get("lineRank");
for(int i=0;i<list.size();i++){
ConfigData cd=(ConfigData) list.get(i);
System.out.println("-------------->Main: code="+cd.getCode()+" name="+cd.getName());
}
}
}
Java代码 收藏代码
package com.zhengxin.eoms.check.common.util;
public class ConfigData {
private String code;
private String name;
public ConfigData(String code, String name) {
this.code = code;
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Java代码 收藏代码
<?xml version="1.0" encoding="GBK"?>
<dictionary>
<dic type="lineRank">
<word code="1">一干</word>
<word code="2">二干</word>
<word code="3">本地网</word>
</dic>
<dic type="lineNature">
<word code="4">直埋</word>
<word code="5">架空</word>
<word code="6">管道</word>
</dic>
<dic type="errorNature">
<word code="7">外力影响</word>
<word code="8">自然灾害</word>
<word code="9">人为破坏</word>
<word code="10">车挂车撞</word>
<word code="11">其他</word>
</dic>
<dic type="cutType">
<word code="12">中断</word>
<word code="13">纵剖</word>
<word code="14">调纤</word>
</dic>
<dic type="cutReason">
<word code="15">现网调整</word>
<word code="16">线路改造</word>
<word code="17">外力影响</word>
<word code="18">其他</word>
</dic>
</dictionary
分享到:
相关推荐
dom4j解析XML的两个JAR包,分别是dom4j-1.6.1.jar、jaxen-1.1.1.jar
lang-2.6.jar,commons-logging.jar,commons-pool-1.5.6.jar,commons-pool2-2.4.2.jar,dom4j-1.6.1.jar,ezmorph-1.0.6.jar,guava-14.0.1.jar,javassist-3.11.0.GA.jar,java_memcached-release_2.6.6.jar,jaxen-...
dom4j-1.6.1.jar druid-1.0.12.jar dwr-1.1.1.jar ezmorph-1.0.6.jar fastjson-1.1.15.jar freemarker-2.3.19.jar freemarker-2.3.22.jar geronimo-javamail_1.4_spec-1.7.1.jar geronimo-jta_1.1_spec-1.1.1.jar ...
解开后其中有三个包,分别是dom4j-1.6.1.jar以及jaxen-1.1.1.jar和 saxpath...仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar和saxpath.jar否则会出现异常
dom4j-1.6.1.jar //3 ehcache-1.2.3.jar //3* ejb3-persistence.jar //3 freemarker-2.3.13.jar //2 hibernate3.jar //3 hibernate-annotations.jar //3 hibernate-commons-annotations.jar //3 hibernate-...
jaxen-1.1.1.jar 支持dom4j的xpath javassist-3.4.GA.jar 是一个开源的分析、编辑和创建Java字节码的类库,用于 Java 的加载时反射系统 jta-1.1.jar JTA规范,当Hibernate使用JTA的时候需要 jsr107cache-1.0.jar ...
313,898 dom4j-1.6.1.jar 77,826 ezmorph-1.0.3.jar 190,418 gson-2.2.4.jar 206,853 gson-2.3.jar 2,256,213 guava-18.0.jar 1,075,964 guava-r07.jar 45,024 hamcrest-core-1.3.jar 53,070 hamcrest-...
很不错的东东哦,包括了dom4j-1.6.1.jar,用到XPath所需的jaxen-1.1.1.jar,以及你需要参考的dom4j的API文档、格式是chm的。
dom4j-1.6.1.jar ezmorph-1.0.3.jar ezmorph-1.0.4.jar fastjson-1.1.40.jar fluent-hc-4.5.6.jar geronimo-annotation_1.0_spec-1.0.jar gradle-announce-2.3-rc-2.jar gradle-antlr-2.3-rc-2.jar gradle-...
Java中解析Xml所系jar包集合 dom4j-1.6.1.jar dom.jar jaxen-1.1.1.jar jdom-1.1.jar xercesImpl.jar
sax,dom4j架包方便解析xml dom4j-1.6.1.jar sax2.jar xercesImpl.jar jaxen-1.1.1.jar
压缩包内包含jaxen-1.1.1.jar和dom4j-1.6.1.jar两个jar包文件。这两个文件用于Java解析XML文件。涵盖了Java解析XML文件的主要类
蜥蜴快速数据库 基于DBUtils。 统一,简单,可扩展的数据源配置文件(仅一个数据源配置文件。XML)。 丰富的JDBC操作界面。 ORM注释支持。... dom4j-1.6.1.jar -------------------------(必选) jaxen-