进行读取的UTIL类SmilConfigUtil.javapackage config ;
import java.io.File ;import org.apache.commons.digester.Digester ;
import org.apache.commons.digester.xmlrules.DigesterLoader ;
public class SmilConfigUtil {   public SmilConfig readRule(String dataFileName) {
      SmilConfig config = null;
      try {
         Digester digester = new Digester() ;
         digester.setValidating(false) ;
         digester.addObjectCreate("smils", config.SmilConfig.class) ;
         digester.addBeanPropertySetter("smils/url", "url") ;
         digester.addObjectCreate("smils/smil", config.Smil.class) ;
         digester.addSetNext("smils/smil", "addSmil") ;
         digester.addBeanPropertySetter("smils/smil/template", "template") ;
         digester.addBeanPropertySetter("smils/smil/name", "name") ;
         digester.addBeanPropertySetter("smils/smil/info", "info") ;
         digester.addObjectCreate("smils/smil/file", config.FileSrc.class) ;
         digester.addSetNext("smils/smil/file", "addFileSrc") ;
         digester.addBeanPropertySetter("smils/smil/file/name", "name") ;
         digester.addBeanPropertySetter("smils/smil/file/src", "src") ;
         File input = new File(dataFileName) ;
         config = (SmilConfig) digester.parse(input) ;
      }
      catch (Exception exc) {
         exc.printStackTrace() ;
      }
      return config;
   }   public SmilConfig readRule( String dataFileName,String ruleFileName) {
      SmilConfig config = null;
      try {
         File input = new File( dataFileName );
         File rules = new File( ruleFileName );
         System.out.println(rules.toURL());
         System.out.println(input.toURL());
         Digester digester = DigesterLoader.createDigester( rules.toURL() );
         config = (SmilConfig)digester.parse( input);
      } catch( Exception exc ) {
         exc.printStackTrace();
     }
      return config;
   }   public static void main(String args[]){
     SmilConfigUtil configUtil = new SmilConfigUtil();
     SmilConfig config = null;
  
     config = configUtil.readRule("src\\config\\SmilConfig.xml");
     config = configUtil.readRule("src\\config\\SmilConfig.xml","src\\config\\RuleConfig.xml");
     System.out.println(config.toString());
   }}现在的问题是:如果采用config = configUtil.readRule("src\\config\\SmilConfig.xml");进行解析,会得到正确的结果.
即: ********* Smil config content begin *************
## url:/WEB-INF/smils/
#######  内容如下:
##############[1]
## smil[1]:3
## name  :smil3.smil
## info  :cccccccccc
## size  :2
## File[3]:3=300.jpg
## File[33]:33=3300.jpg
##############[2]
## smil[2]:2
## name  :smil2.smil
## info  :bbbbbbbbbb
## size  :1
## File[2]:2=200.jpg
##############[3]
## smil[3]:1
## name  :smil1.smil
## info  :aaaaaaaaa
## size  :1
## File[1]:1=100.jpg
 ********* Smil config content over  *************
而如果采用rule配置文件进行解析,却得不到FileSrc的信息,即内容如下:
 ********* Smil config content begin *************
## url:/WEB-INF/smils/
#######  内容如下:
##############[1]
## smil[1]:3
## name  :smil3.smil
## info  :cccccccccc
## size  :0
##############[2]
## smil[2]:2
## name  :smil2.smil
## info  :bbbbbbbbbb
## size  :0
##############[3]
## smil[3]:1
## name  :smil1.smil
## info  :aaaaaaaaa
## size  :0
 ********* Smil config content over  *************
现在请大家帮我分析一下,在RuleConfig.xml文件的配置中,那里有错误....
还请教有关配置文件的说明....谢谢大家.....