Digester 读API随记

一、包说明
org.apache.commons.digester 提供基于规则的任意xml文档处理
org.apache.commons.digester.parser 提供解析识别和解析依赖码
org.apache.commons.digester.plugins 提供一种简单的机制,使新的digestion在解析中能被动态的增加
org.apache.commons.digester.plugins.strategies  包含了"rule-finding"策略类和其已关联协助加载类
org.apache.commons.digester.substitution 在数据被任何规则对象处理前,提供了对xml的属性和元素主体文本的操作
org.apache.commons.digester.xmlrules 提供了基于xml文档的digester规则定义

二、依赖
JAXP/1.1 Reference Implementation
Xerces (Version 1.3.1 or later)
Jakarta Commons library:Digester+Logging 1.1.x+BeanUtils 1.x+Collections 2.x(3.x)

三、基本使用步骤
1.创建org.apache.commons.digester.Digester实例;
2.在你开始处理前,设置所需要的可自定义处理Digester的配置属性;
3.推入任何的初始对象到Digester的对象栈;
4.为所有的元素匹配模式注册关联到你希望让处理规则开始处理规则上;
(用digester注册关联匹配模式和规则)
5.调用digester.parse()方法

四、规则(Rule)
ObjectCreateRule:对象创建
FactoryCreateRule:自定义的对象创建方式
SetPropertiesRule:属性设置
SetPropertyRule:特殊地设置属性
SetNextRule:设置循环操作
SetTopRule:
CallMethodRule:方法调用规则
CallParamRule:方法参数规则
NodeCreateRule:节点创建规则

五、命名空间
1.让Digester在命名空间下工作,设置属性digester.setNamespaceAware(true);
2.声明公共的命名空间URI,digester.setRuleNamespaceURI("http://www.mycompany.com/MyNamespace");
3.注册关联规则;
4.重复前三步,处理其它的命名空间。

六、插件性的规则处理(自定义规则解析)
1.实现org.apache.commons.digester.Rules接口;
2.继承org.apache.commons.digester.RulesBase。

你可能感兴趣的:(apache,xml,工作)