`
yangjizhong24
  • 浏览: 399130 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java中org.apache.commons.digester类用法

阅读更多

xml文件内容:

 

<?xml version="1.0" encoding="UTF-8"?>  
  
<channels>  
  <channel switchTime="20080101000101" k="1.07" n="6" s="55" channelId="0404" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0405" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0406" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0407" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0408" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0409" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0433" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0434" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0437" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0435" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0438" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0439" channelName="xxxx.xxxx.xxx.cn"/>  
  <channel switchTime="20080301010101" k="1.07" n="6" s="55" channelId="0440" channelName="xxxx.xxxx.xxx.cn"/>  
</channels>  

 

import org.apache.commons.digester.Digester;           
Digester digester = new Digester();   
//此方法作用是是否对XML文档进行DTD验证   
digester.setValidating(false);   
//addObjectCreate的作用是:当遇见channels元素的时候,产生一个java.util.ArrayList对象   
digester.addObjectCreate("channels", "java.util.ArrayList");   
//addSetProperties作用是:对channels元素所含的属性赋值(即下面channels/channel中的对象值)   
digester.addSetProperties("channels");   
//当遇见channels/channel元素的时候,产生一个com.chinacache.config.model.ChannelSwitch对象   
digester.addObjectCreate("channels/channel","com.chinacache.config.model.ChannelSwitch");   
//对channels/channel元素所含的属性赋值给ChannelSwitch对象       
digester.addSetProperties("channels/channel");   
//当再一次遇见 channels下的channel元素的时候,调用ArrayList类的add()方法,add:com.chinacache.config.model.ChannelSwitch对象           
digester.addSetNext("channels/channel", "add","com.chinacache.config.model.ChannelSwitch");  


 

 

 

 

调用:

 

 

try {   
  
            List channelList = (List) digester   
                    .parse(ChannelSwitchInfoImpl.class  
                            .getResourceAsStream(Constants.PATH_CHANNEL_SWITCH));   
            for (int i = 0; i < channelList.size(); i++) {   
                ChannelSwitch channelSwitch = (ChannelSwitch) channelList   
                        .get(i);   
                this.channelSwitchs.put(channelSwitch.getChannelName(),   
                        channelSwitch);   
                this.channelSwitchsSavedById.put(channelSwitch.getChannelId(),   
                        channelSwitch);   
            }   
  
               
  
        } catch (IOException e) {   
            logger.error("load channelswitch.xml error.", e);   
        } catch (SAXException e) {   
            logger.error("load channelswitch.xml error.", e);   
        }  


 

分享到:
评论

相关推荐

    org.apache.commons.digester解析XML.rar

    这个“org.apache.commons.digester解析XML.rar”压缩包包含了一个测试工程,它演示了如何使用Digester库来解析XML文件并映射到Java对象上。下面将详细介绍这个库的功能、使用方法以及在实际开发中的应用。 1. **...

    利用commons-digester解析xml

    标题“利用commons-digester解析XML”涉及到的是Java开发中的一种处理XML文档的工具——Apache Commons Digester。这个库提供了一种方便的方式来映射XML文档结构到Java对象,从而简化了XML数据的处理过程。 Apache ...

    commons-digester.jar

    当你遇到`java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet`这样的错误时,这意味着你的应用程序运行环境中缺少了Apache Commons Digester库,需要引入`commons-digester.jar`来解决这个问题。...

    commons-digester3-3.2-API文档-中英对照版.zip

    Maven坐标:org.apache.commons:commons-digester3:3.2; 标签:apache、commons、digester3、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    commons-digester-2.1.jar

    Apache Commons Digester库提供了一种规则驱动的方法来解析XML文档,并根据预定义的规则将XML数据映射到Java对象上。这个库在处理XML配置文件时特别有用,它允许开发者将XML结构转换为相应的Java对象结构,从而简化...

    commons-digester3-3.2-API文档-中文版.zip

    Maven坐标:org.apache.commons:commons-digester3:3.2; 标签:apache、commons、digester3、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    使用Apache_Commons_Digester

    ### 使用Apache Commons Digester开发指南 #### 概述 Apache Commons Digester 是一款基于 Java 的开源库,专门用于简化 XML 文件解析的过程。它利用 SAX(Simple API for XML)解析器来解析 XML 数据,并通过一...

    commons-digester-2.1.jar.zip

    Apache Commons Digester是一款在Java开发中广泛使用的开源库,它提供了处理XML文档的强大工具,可以将XML数据映射到Java对象。这个库的名字"Digester"源自其功能,就像一个消化系统,可以“消化”XML输入并生成相应...

    commons-digester-2.0.rar源文件及jar文件

    《Apache Commons Digester 2.0:解析XML的利器》 Apache Commons Digester是一...通过深入理解它的原理和使用方法,开发者可以高效地将XML配置文件转化为可操作的Java对象,从而在项目中实现动态配置和数据驱动编程。

    commons-digester-1.7.jar.zip

    在标题和描述中提到的"commons-digester-1.7.jar.zip"是一个包含Apache Commons Digester 1.7版本的压缩文件,它包含了`commons-digester-1.7.jar`库本身以及相关的`commons-digester-1.7.jar.license.txt`文件,后...

    commons-digester-2.0.jar.zip

    《Apache Commons Digester详解及其在Java开发中的应用》 Apache Commons Digester是一个强大的Java库,主要功能是解析XML文档,并根据预定义的规则将其转换为Java对象。在标题"commons-digester-2.0.jar.zip"中,...

    commons-digester-1.7.zip

    1. **JAR文件**:包含所有编译好的类和库,这是实际使用的部分,开发者会将它添加到项目类路径中,以便在代码中引用和使用Commons Digester的功能。 2. **源代码**(如果包含):可能包括Java源文件,允许开发者...

    commons-digester.jar下载

    在给定的标题"commons-digester.jar下载"和描述"commons-digester3-3.0.jar下载"中,我们关注的是Apache Commons Digester项目的版本3.0。 Apache Commons Digester项目是Apache软件基金会的一部分,它为Java开发者...

    commons-digester源码

    **Apache Commons Digester** 是一个Java库,它允许开发人员定义一套规则,这些规则可以解析XML文档,并根据这些规则在Java对象模型中创建和配置对象。这个库在处理XML到Java对象映射时非常有用,特别是在构建配置...

    quartz-1.6.0/commons-beanutils/commons-digester-1.7 JAR包

    本文将围绕标题"quartz-1.6.0/commons-beanutils/commons-digester-1.7 JAR包"展开,详细阐述这些JAR包在Spring中的作用,以及它们各自的核心知识点。 首先,`quartz-1.6.0.jar`是Quartz Scheduler的一个版本。...

    Apache xml转换java对象 Digester

    `Apache Commons Digester`是一个功能强大且易于使用的Java库,专门用于将XML文档解析并转换为Java对象。它支持通过规则集(Rules)来进行配置,这些规则集可以在代码中动态定义,也可以从XML文件中加载。这种方式...

    commons-digester.jar commons-dbcp.jar

    标题提到的"commons-digester.jar"和"commons-dbcp.jar"是两个非常知名的Apache Commons项目中的组件,它们为Java开发者提供了方便的功能。让我们深入了解一下这两个组件以及它们在压缩包中的关联。 首先,`commons...

    aspectjrt、aspectjweaver、commons-beanutils、commons-digester

    在您提供的信息中,提到了四个关键的Java库:aspectjrt.jar、aspectjweaver.jar、commons-beanutils.jar和commons-digester.jar。它们都是Apache软件基金会的开源项目,广泛应用于Java开发中。现在,让我们逐一深入...

Global site tag (gtag.js) - Google Analytics