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”压缩包包含了一个测试工程,它演示了如何使用Digester库来解析XML文件并映射到Java对象上。下面将详细介绍这个库的功能、使用方法以及在实际开发中的应用。 1. **...
标题“利用commons-digester解析XML”涉及到的是Java开发中的一种处理XML文档的工具——Apache Commons Digester。这个库提供了一种方便的方式来映射XML文档结构到Java对象,从而简化了XML数据的处理过程。 Apache ...
当你遇到`java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet`这样的错误时,这意味着你的应用程序运行环境中缺少了Apache Commons Digester库,需要引入`commons-digester.jar`来解决这个问题。...
Maven坐标:org.apache.commons:commons-digester3:3.2; 标签:apache、commons、digester3、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
Apache Commons Digester库提供了一种规则驱动的方法来解析XML文档,并根据预定义的规则将XML数据映射到Java对象上。这个库在处理XML配置文件时特别有用,它允许开发者将XML结构转换为相应的Java对象结构,从而简化...
Maven坐标:org.apache.commons:commons-digester3:3.2; 标签:apache、commons、digester3、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...
### 使用Apache Commons Digester开发指南 #### 概述 Apache Commons Digester 是一款基于 Java 的开源库,专门用于简化 XML 文件解析的过程。它利用 SAX(Simple API for XML)解析器来解析 XML 数据,并通过一...
《Apache Commons Digester 2.0:解析XML的利器》 Apache Commons Digester是一...通过深入理解它的原理和使用方法,开发者可以高效地将XML配置文件转化为可操作的Java对象,从而在项目中实现动态配置和数据驱动编程。
Apache Commons Digester是一款在Java开发中广泛使用的开源库,它提供了处理XML文档的强大工具,可以将XML数据映射到Java对象。这个库的名字"Digester"源自其功能,就像一个消化系统,可以“消化”XML输入并生成相应...
在标题和描述中提到的"commons-digester-1.7.jar.zip"是一个包含Apache Commons Digester 1.7版本的压缩文件,它包含了`commons-digester-1.7.jar`库本身以及相关的`commons-digester-1.7.jar.license.txt`文件,后...
《Apache Commons Digester详解及其在Java开发中的应用》 Apache Commons Digester是一个强大的Java库,主要功能是解析XML文档,并根据预定义的规则将其转换为Java对象。在标题"commons-digester-2.0.jar.zip"中,...
1. **JAR文件**:包含所有编译好的类和库,这是实际使用的部分,开发者会将它添加到项目类路径中,以便在代码中引用和使用Commons Digester的功能。 2. **源代码**(如果包含):可能包括Java源文件,允许开发者...
在给定的标题"commons-digester.jar下载"和描述"commons-digester3-3.0.jar下载"中,我们关注的是Apache Commons Digester项目的版本3.0。 Apache Commons Digester项目是Apache软件基金会的一部分,它为Java开发者...
**Apache Commons Digester** 是一个Java库,它允许开发人员定义一套规则,这些规则可以解析XML文档,并根据这些规则在Java对象模型中创建和配置对象。这个库在处理XML到Java对象映射时非常有用,特别是在构建配置...
本文将围绕标题"quartz-1.6.0/commons-beanutils/commons-digester-1.7 JAR包"展开,详细阐述这些JAR包在Spring中的作用,以及它们各自的核心知识点。 首先,`quartz-1.6.0.jar`是Quartz Scheduler的一个版本。...
`Apache Commons Digester`是一个功能强大且易于使用的Java库,专门用于将XML文档解析并转换为Java对象。它支持通过规则集(Rules)来进行配置,这些规则集可以在代码中动态定义,也可以从XML文件中加载。这种方式...
标题提到的"commons-digester.jar"和"commons-dbcp.jar"是两个非常知名的Apache Commons项目中的组件,它们为Java开发者提供了方便的功能。让我们深入了解一下这两个组件以及它们在压缩包中的关联。 首先,`commons...
在您提供的信息中,提到了四个关键的Java库:aspectjrt.jar、aspectjweaver.jar、commons-beanutils.jar和commons-digester.jar。它们都是Apache软件基金会的开源项目,广泛应用于Java开发中。现在,让我们逐一深入...