您的位置:首页 >> 编程开发 >> Java >> Java与XML >> 正文
Java与XML RSS
 

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

http://www.rdxx.com 06年12月10日 20:36 Blog 我要投稿

标签: 文件信息 , XML配置 , Java , Jakarta , Object , XML , ONS , COM , 文件 , 配置 , 信息 , Obj
 

利用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>

 

3. Example.java
import java.net.*;
import java.util.*;

import org.apache.commons.digester.*;
import org.apache.commons.digester.xmlrules.*;

public class Example {

  /*
   以下两个String变量,严实在xml配置文件,在不同节点下查找
  */
  private String queueConnectionFactory = null;
  private String exchangePublicationID = null;

/*
   以下两个主要演示xml配置文件,是怎样形成Collection的

9 7 3 1 2 3 4 4 8 :


 
 
打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站