快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

最终还是手工输出XML对象可靠


 原文

最终还是手工输出XML对象可靠 2005年 01月06日 和xml打交道,经常是哭笑不得:我为什么要花那么大力气和整个XML文档打交通呢?实实在在的,我只不过想存取其中一个对象的属性罢了!!前段时间了解了castor觉得这是一个解决方案,不过也还是需要整个文档的读写更新。一来是时间限制不答应当前深入研究,而且那也是一个不算成熟的项目;二来呢,采纳的话会和现在的digester读取模式发生冲突,有点划不过来。但是象科室设置的更新频率看来越来越高,再放到XML中只读靠手工改看来是不行的。因此打算把科室对象移植进数据库,但一动手就发现同样有不划算的地方。

    事实上是发现忽视了一个问题,其实也是XML和关系数据库存储实质的一个对比内容:XML周边存取的手段的确不是异常成熟,但是它是以对象的层次结构存储数据的,而关系数据库则是平面形式地存储。我目前打算使用secion转为关系数据库,目的是为了可以分科室的更改设置更方便,这在XML是一个文件,而到了关系数据库,却是整个的一堆的关系表(关系概念中同样是一个实体,但此实体非彼实体,它意味着反应一个对象的一堆表),而且要与象表类等进行关联,相称复杂的。当前这也许不是一个好主意,而且,在大项目中使用复杂的关系结构表达数量不多的记录,好像是一种成本效益比很低的过时的方式。所以,我犹豫了。

另一个办法是做一个可更新的xml模件:处理手法包括:

1、修改SectionBase,使它是针对多个科室的多个xml工作,而不是象现在那样一切解释把所有的科室读进去;

2、做一个更新各个科室的xml的方式;无论是casto的,还是其他什么方式的;

3、做一个更新各个科室的界面,把它连到科室治理台。

这里的要害是第二步。为确认第二步能够以当前最简朴的方式完成,再次翻看先前下载的关于castor的文章,不过博客中国真是越来越弱不禁风,居然好久还动不了,过好长时间才把原来的文章打开再读一篇。研读结果仍是相同的,假如采用castor就意味着要采用它的JDO,而不仅仅是XML的输出,而目前我的读入主要是使用digester;所以这里包含着更大范围的修改,而且包含着更大不定性的试用;这也是我上两个星期暂时放开castor的原因:目前没有时间深入研究它的使用思想和实际应用。看来,只能采用原始点的SAX或甚至字符串处理了。

再考虑一下常用的sax/xalan/jaxp/jdom几种处理手法,假如不是单纯对着非对象化的文档内容工作,就是需要写一个XSLT/和转变器,而无论如何,要与一贯的JAVA对象/XML对象匹配的模式一起工作,还必须做到让上面的这些文档对象可以与digester后的JAVA对象互换的方式:没听说过!!从digester都没有几个人真的用过的情况下,我看就算上论坛问那几个海内国外的老兄都是白问。我想这种方式假如有,一定就在 Digester的详细使用中,从jdom中获得对象,以及重新转为document对象——不过,没有!!

看来,我要考虑一下自已实现的难道和可重用性是怎么样的。......一想下来,其实这也不是什么难事,只需要在每个类那里实现一个接口,比如说 write,然后逐级调用不就搞惦了么?何必舍近求远,找些不可靠的东西试用呢?一通百通,实际上手工输出对象字符串一点都不是一件恐怖的事,我是让那些文章作者给唬住了,要害就在于这是按对象输出,程序量并不算大,而且也是挺好治理的。相比写servlet输出,小意思啦。

原始的方式不见得就是落后的,合适就行!




返回类别: 教程
上一教程: 修改IntelliJ IDEA中CVS插件以兼容其他cvs工具
下一教程: JDBC接口技术 <转>

您可以阅读与"最终还是手工输出XML对象可靠"相关的教程:
· 从XML到Java代码的数据绑定之对象
· JSP结合XML+XSLT将输出转变为HTML格式
· JAVA对象序列化保存为XML文件的工具类
· JAVA对象序列化保存为XML文件的工具类
· javascript向jsp传递参数的一种手段:使用xmlhttp对象
    微笑服务 优质保证 索取样品