文档对象模型 (dom) 是一个文档标准,对于完备的文档和复杂的应用程序,dom 提供了大量灵活性。dom标准是标准的。它很强壮且完整,并且有许多实现。这是许多大型安装的决定因素--特别是对产品应用程序,以避免在api发生改变时进行大量的改写。
以上是我在选择处理xml数据时之所以没有选择jdom或者dom4j等其它面向对象的标准的原因,不过也由于dom从一开始就是一种与语言无关的模型,而且它更趋向用于像c或perl这类语言,没有利用java的面向对象的性能,所以在使用的过程中也遇到了不少的麻烦,今天这里做一个小结。另外,我目前使用xml主要是作为数据传输的统一格式,并统一用户界面展示的接口,应用的面并不是很广,所以使用到的dom的内容其实不多。
在准备使用它的时候,是做了充足的准备的,也有遇到困难的准备,所以一开始就有了一个简单的工具类来封装dom对象使用时必要的公共方法,实际证明这样做是很明智的,一个简单的创建document对象的操作,要是每次都需要写上5行以上代码,并且还要处理那些烦人的exception,实在是会打击大家的积极性,所以在最初,做了一个xmltool类,专门封装了如下的公共方法:
1、 document对象创建(包括空的document对象创建,以一个给定node节点作为根节点创建。
2、 将一个规范的xml字符串转换成一个document对象。
3、 从物理硬盘读取一个xml文件并返回一个document对象。
4、 将一个node对象转换成字符串。
其中每个方法都截获相关的dom操作所抛出的异常,转换成一个runtimeexception抛出,这些异常在实际使用过程中,一般状况下其实都不会抛出,特别是象生成一个document对象时的parserconfigurationexception、转换node节点成字符串时要生成一个transformer对象时的transformerconfigurationexception等等,没有必要在它们身上花时间精力。而且真就出了相关的异常的话,其实根本没有办法处理,这样的状况通常是系统环境配置有问题(比如必要的dom实现解析器等包没有加入环境),所以包装该异常时只是很简要的获取其message抛出。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器