文档介绍:在windows下开发程序,用M$。在java平台上开发程序,则习惯于以xml格式的文件来存放系统的配置信息,对这种文件的解析和处理,可以用sax或dom。有没有更简便的方法呢?有,就是用digester模块。 mons下的一个模块,支持基于规则的对任意XML文档的处理。它最初是Structs项目的一部分,-d:pserver:******@cvs.:/home/cvspublicloginpassword:anoncvscvs-d:pserver:******@cvs.:/home/mons/mons/digesterantdist Digester的运行依赖下列包:一个遵循Jaxp()monsbeanutils包()monscollections包()monslogging包() 一个简单的例子假定有两个JavaBean如下,分别为Foo和Barpackagemypackage;lassFoo{  publicvoidaddBar(Barbar);  publicBarfindBar(intid);  etBars();  publicStringgetName();  publicvoidsetName(Stringname);}publicmypackage;lassBar{  publicintgetId();  publicvoidsetId(intid);  publicStringgetTitle();  publicvoidsetTitle(Stringtitle);} 用下面的xml文件进行配置<fooname="TheParent">  <barid="123"title="TheFirstChild"/>  <barid="456"title="TheSecondChild"/></foo> 用下面几行代码即可完成配置文件解析工作:Digest解析代码注释Digesterdigester=newDigester();(false);("foo","");当遇到<foo>,("foo");根据<foo>元素的属性(attribute),对刚创建的Foo对象的属性(property)("foo/bar","");当遇到<foo>的子元素<bar>,并将其放在栈顶。("foo/bar");根据<bar>元素的属性(attribute),对刚创建的Bar对象的属性(property)("foo/bar","addBar","");当再次遇到<foo>的子元素<bar>,并将其放在栈顶,同时调用第二栈顶元素(Foo对象)的addBar方法。Foofoo=(Foo)();分析结束后,返回根元素。基本情况熟悉用SAX来处理XML文档的程序员,会发现Digester隐藏了遍历XML元素这些细节,而是提供了更高一层的、更友好的SAX事件接口,从而让程序员的精力放在对数据的处理过程中。使用Digester,须按照以下步骤:.。一个解析请求完成后,这个Digester可以被后面复用。但也不要试图在不同的线程中从共享一个Digester实例。根据需要设置一些配置属性(configurationproperties),以控制下一步的解析操作。将一个或几个初始对象(initialobject)压入Digester对象栈,本步骤不是必须的。注册所有的元素匹配模板(elemetmatchingpattern)。当一个模板被从输入文档中识别出来以后,与其相联系的处理规则(processingrules)被激活。对一个特定的模板,可以定义任意多的规则,当识别出该模板后,这些规则依序依次执行。()方法,一个XML文档的引用(用多种方式供选择)要传给这个方法。注意,需要捕捉并处理IOException或SAXEception或处理过程中抛出的异常。元素