WEB开发网
开发学院WEB开发Jsp 利用Jakarta Commons Digester匹配xml配置文件信息... 阅读

利用Jakarta Commons Digester匹配xml配置文件信息与其对应的xml规则文件形成Java Object

 2008-01-05 19:59:03 来源:WEB开发网   
核心提示:利用Jakarta Commons Digester匹配xml配置文件信息与其对应的xml规则文件形成java Object说明:在这里以一个简单的例子来说明如何使用Digester,第一步:下载Digester在http://jakarta.apache.org/commons/index.Html页面找到Diges

利用Jakarta Commons Digester匹配xml配置文件信息与其对应的xml规则文件形成java Object

说明:在这里以一个简单的例子来说明如何使用Digester。

第一步:下载Digester
在http://jakarta.apache.org/commons/index.Html页面找到Digester PRoject,并下载commons-digester-1.6.zip(我使用的)

第二步:所需主要lib
commons-digester.jar : 这个就是Digester主要的lib
  (digester中解析xml利用的是Sax方法,有可能需要crimson.jar,在我的JBuilder环境就不需要,因为jdk已经带了解析xml文件的lib)
commons-beanutils.jar : 主要公用包(请查看http://www.apache.org)
commons-logging.jar : 其log包,由于commons-digester.jar该包中使用

第三步:书写xml配置文件(config.xml)、xml规则文件(rules.xml)与Java Object(Example.java)
1.config.xml
<?xml version="1.0" encoding="UTF-8"?>
<db-base-config>
  <control>
   <queue-connection-factory>java:/ConnectionFactory</queue-connection-factory>
   <sender-queue>
    <param name="Internet">queue/Email</param>
    <param name="CDMA">queue/SmsCdma</param>
   </sender-queue>
  </control>
  <db-foreign-exchange-sql>
   <publication_id>1</publication_id>
   <receiver-list>
    <param>Telephone</param>
    <param>Email</param>
   </receiver-list>
  </db-foreign-exchange-sql>
</db-base-config>

2. rules.xml
<?xml version="1.0" encoding="UTF-8"?>
<digester-rules>
  <pattern value="db-base-config/control">
   <call-method-rule pattern="queue-connection-factory" methodname="setQueueConnectionFactory" paramcount="0"/>
   <pattern value="sender-queue/param">
    <call-method-rule methodname="addSenderQueue" paramcount="2"/>
    <call-param-rule paramnumber='0' attrname='name'/>
    <call-param-rule paramnumber='1'/>
   </pattern>
  </pattern>
  <pattern value="db-base-config/db-foreign-exchange-sql">
   <call-method-rule pattern="publication_id" methodname="setExchangePublicationID" paramcount="0"/>
   <pattern value="receiver-list/param">
    <call-method-rule methodname="addReceiverList" paramcount="0"/>
   </pattern>
  </pattern>
</digester-rules>


Tags:利用 Jakarta Commons

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接