使用Digester解析XML文档示例

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

一. 概述

解析XML文档方面有不少的方法,也有不少的工具包可用,这里介绍的是来自Apache Jakarta的Digester,使用其解析XML文件非常方便而不需要过多的关心底层的具体解析过程。

Digester最早出现在Struts中,后来随着Struts的发展以及其的公用性而被提到commens中独自立项,其底层实现的是SAX解析。当前版本为:1.5

二. 正文

1. 安装与配置

使用Digester需要如下几个软件包:

Digester ,BeanUtils, Collections, Commens-Logging,还有一个遵循SAX(Simple API for XML)2.0或JAXP(Java API for XML Parsing) 1.1规范的XML解析器,如Xerces。相关下载地址见附录。假如需要使用log4j做为日志输出,则亦请下载之。

将下载来的zip包解压,并将其中的jar文件拷贝到你的工程文件的lib目录中,并在工程classpath中包含上述jar文件的路径。

在您工程的类目录(如classes)新建一commons-logging.properties文件,内容为:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4Jlogger

这表明系统将使用log4j做为日志输出,再建一log4j.proerties文件,内容请参看log4j文档或其他参考资料。

2. XML文件

在工程目录下新建一个XML文件,示例使用module.xml,内容见下:

<?xml version="1.0" encoding="gb2312" ?>

<quasar_module>

<!--模块信息-->

<module_info>

<name>Skyhome</name>

<description>the web site system of www.skyinn.org </description>

<version>2.0.1</version>

<author>l_wakler</author>

<mail walker@skyinn.org </mail>

<update_time>2003-04-30</update_time>

</module_info>

<!--Action映射信息-->

<action_mappings>

<action name="home" requestPath="/Home"

actionClass="org.skyinn.action.GlobalAction">

</action>

<action name="forum"

requestPath="/Forum"

actionClass="org.skyinn.action.ForumAction">

</action>

</action_mappings>

</quasar_module>

3. 解析XML文档

Digester的使用相当简单,请参看如下的SampleDigester类中的注释,这里不再拗述:

/*============================================================

* Copyright:www.skyinn.org (c) 2002 - 2003 All rights reserved.

* File:org.skyinn.quasar.config.SampleDigester

* Inculde:SampleDigester

* Modify Records

* Date Author Content

* =============================================================

* 2003-5-1 walker create class

* ============================================================*/

package org.skyinn.quasar.config;

import org.apache.commons.digester.Digester;

import org.xml.sax.SAXException;

import org.skyinn.quasar.action.ActionMapping;

import java.io.IOException;

/**

* Digester解析XML示例程序。

* <p>

* @author walker( alker@skyinn.org )

* <p>

* <strong>参考文献:</strong><p>

* <a href=" http://www.onjava.com/pub/a/onjava/2002/10/23/digester.Html " target="_blank">Learning and Using Jakarta Digester</a><p>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航