`

xml解析工具类(需要dom4j-1.6.1.jar和jaxen-1.1.1.jar)

阅读更多
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());
		}
	}

	
	
	
	

}





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;
	}
	

}




<?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>

分享到:
评论
1 楼 majianguo-202 2012-01-04  
多谢了2312121

相关推荐

    dom4j-1.6.1.jar + jaxen-1.1.1.jar

    DOM4J和Jaxen是两个在Java编程中用于XML处理的重要库,它们在解析、操作和查询XML文档方面发挥着关键作用。 DOM4J是一个非常灵活且功能强大的开源XML库,它为Java开发者提供了丰富的API来处理XML文档。DOM4J支持...

    dom4j解析XML的两个JAR包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改...在实际应用中,这两个JAR包通常会被添加到项目的类路径中,以便于在代码中直接引用和使用DOM4J和Jaxen的功能。

    开发相关jar包,nosql,jdom,netty,mysql,连接池

    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-...

    271个java需要用的jar包

    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 ...

    开发用jar包合集

    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-...

    dom4j所需的包以及学习资料——java编程

    解开后其中有三个包,分别是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否则会出现异常

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    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-...

    MyEclipse_9创建SSH2开发环境必须的独立包

    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 ...

    各种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解析XML所需jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,...通过`dom4j-1.6.1.jar`和`jaxen-1.1.1.jar`这两个jar包,开发者可以获得完整的DOM4J功能,实现XML的解析、构建、查询和转换等一系列操作。

    Dom4j 、XPath解析Xml所需的jar包和dom4j API

    在Java编程中,解析XML文档通常需要借助库,如DOM4J和XPath。DOM4J是一个灵活且功能强大的开源Java XML API,它提供了XML的读取、写入、修改和遍历等功能。XPath则是W3C标准中的一个查询语言,用于在XML文档中查找...

    关于Dom4j编程的相关jar包

    总的来说,Dom4j编程相关的jar包是XML处理的重要工具,它们提供了XML解析、XPath查询和文档操作的能力,对于需要处理XML数据的Java应用程序来说是必不可少的。在使用这些库时,理解XPath语法和Dom4j的API结构是至关...

    Java解析XML.zip

    本压缩包“Java解析XML.zip”包含了两个关键的第三方库:jaxen-1.1.1.jar和dom4j-1.6.1.jar,它们是Java解析XML文件的重要工具。 首先,让我们了解一下**DOM4J**。DOM4J是一个强大的Java XML API,它提供了灵活且高...

    POI3.9必要jar包

    8. dom4j-1.6.1.jar:DOM4J库,用于处理XML文档。 9. stax-api-1.0.1.jar:STAX API,提供事件驱动的XML解析。 10. jsr303-api-1.0.0.jar:JSR 303 Bean Validation API。 11. jaxen-1.1.4.jar:XPath处理库。 12. ...

    dom4.jar包,高效xml解析

    1. 引入DOM4J和Jaxen的jar包到项目中。 2. 加载XML文件,可以使用`DocumentFactory.createDocument()`或`SAXReader.read()`方法。 3. 使用XPath创建XPath对象,如`XPathFactory.newInstance().newXPath()`。 4. 编写...

    SpringIOC所需要的jar包

    1. **dom4j-1.6.1.jar**:这是一个用于XML处理的Java库,Spring框架在读取和解析XML配置文件时会用到。Dom4j提供了一种灵活的方式来处理XML文档,包括创建、修改和查询XML结构,这对于Spring的bean定义文件至关重要...

    一个检查ZIP格式增量包的小工具

    压缩包子文件的文件名称列表包含“dom4j-1.6.1.jar”和“jaxen-1.1.1.jar”。这些是Java的库文件,它们可能被用在这个小工具的开发中: 1. **dom4j-1.6.1.jar**:这是一个流行的Java库,用于处理XML文档。它提供了...

    Java中解析Xml所系jar包集合

    在实际项目中,开发者可以根据需求选择适合的解析器,例如,对于需要频繁查询的场景,可以结合使用DOM4J和Jaxen;如果需要处理大型XML文件,可能会倾向于使用SAX或StAX,如Xerces提供的解析器。同时,理解并掌握这些...

    dom4j jars

    标题 "dom4j jars" 和描述 "dom4j jar" 提到的核心知识点是关于 `dom4j` 这个库,它是一个强大的Java XML处理框架。`dom4j` 是一个开源项目,提供了灵活且高效的API来操作XML文档,包括读取、写入、更新以及查询XML...

Global site tag (gtag.js) - Google Analytics