[转][jakarta-commons] 使用Digester解释xml获取java对象(代码入注规则 或 配置规则 任你选!)

 

原文地址:http://www.blogjava.net/orangewhy/archive/2007/05/23/119402.html

 

今天看了八进制的《利用Digester把XML转换为Java对象》,感觉挺好。你可以在这里http://www.cnblogs.com/bjzhanghao/archive/2007/05/15/125747.html访问。加上混北民工的在评论中更详细一点的例子。终于对Digester有了初步的了解。但是,对于详细返回对象,在八进制和混北民工的例子中表现得不是十分明朗。下面,我对例子做了一些修改,使Digester的规则表现清晰一些,另外添加配置规则来代替代码入注规则的运用方法。

注册表ChartRegistry:

源码

 

图表设定器ChartConfig:

源码

 

图表数据设定(简化版)charts.xml:

源码

 

配置规则设定rule.xml:

源码

 

跑一下试试看:

源码

 

结果输出:

======================= getChartRegistryWithCodeRule ==========================
study.jakarta.commons.digester.ChartRegistry@16df84b[
  registry=[study.jakarta.commons.digester.ChartConfig@1aa57fb[
  id=BarChart1
  legendVisible=false
  type=中国
  width=500
  description=11
], study.jakarta.commons.digester.ChartConfig@763f5d[
  id=BarChart2
  legendVisible=true
  type=美国
  width=500
  description=22
]]
]
======================= getChartRegistryWithCodeRule ==========================
study.jakarta.commons.digester.ChartRegistry@18f6235[
  registry=[study.jakarta.commons.digester.ChartConfig@78a212[
  id=BarChart1
  legendVisible=false
  type=中国
  width=500
  description=11
], study.jakarta.commons.digester.ChartConfig@1d85f79[
  id=BarChart2
  legendVisible=true
  type=美国
  width=500
  description=22
]]
]

刚学,未免存在不当的地方,欢迎指正,交流。

posted @ 2013-11-18 22:31  ZinkSor  阅读(305)  评论(0编辑  收藏  举报