前沿
jdk自身的解析xml的工具方式dom解析和sax解析,开发人员应该耳熟能详了。但是对于开发者并不是非常友好,经常要写很长的繁琐代码,现在有一个开源工具基于事件驱动去解析xml文件,使用起来非常清晰易解。
就是commons-digester。
Commons Digester
Apache Commons Digester 一 (基础内容、核心API)
官方文档
核心思想就是事件驱动, 模式,规则,当解析的文档刚好满足模式时,就会依次执行注册到模式上的规则, begin和body方法按照注册顺序依次执行,end方法倒序执行。
JoranConfigurator
JoranConfigurator是logback解析配置文件的一个工具类,它解析xml的思路灵感正是来源于 Commons Digester,但是又不尽相同。 Commons Digester的概念中有 隐式地表达了 规则由模式和规则组成的含义, 尽管这不是它的意图,但是它的api确实在这方面可读性不够好,比如
Digester.addRule(String pattern, Rule rule)方法。
JoranConfigurator在这一方面做了些改进, 规则由模式和动作组成(a rule consists of a pattern and an action)。
作为对比
- Commons Digester和JoranConfigurator底层都使用sax进行解析
- sax解析的处理核心类
DefaultHandler在前者框架下的实现类是Digerster,而在Joran中的实现类是SaxEventRecorder
850

被折叠的 条评论
为什么被折叠?



