Java中文档对象模型DOM经验小结

以父之名19

以父之名19

2016-02-19 14:32

下面是个简单易学的Java中文档对象模型DOM经验小结教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

  文档对象模型 (DOM) 是一个文档标准,对于完备的文档和复杂的应用程序,DOM 提供了大量灵活性。DOM标准是标准的。它很强壮且完整,并且有许多实现。这是许多大型安装的决定因素--非凡是对产品应用程序,以避免在API发生改变时进行大量的改写。
  
  !-- frame contents -- !-- /frame contents --  以上是我在选择处理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抛出。
  
  代码如下:
  
  /**
  * 初始化一个空Document对象返回。
  * @return a Document
  */
  public static Document newXMLDocument() {
   try {
  return newDocumentBuilder().newDocument();
   } catch (ParserConfigurationException e) {
   throw new RuntimeException(e.getMessage());
   }
  }
  
  /**
  * 初始化一个DocumentBuilder
  * @return a DocumentBuilder
  * @throws ParserConfigurationException
  */
  public static DocumentBuilder newDocumentBuilder()
  throws ParserConfigurationException {
  return newDocumentBuilderFactory().newDocumentBuilder();
  }
  
  /**
  * 初始化一个DocumentBuilderFactory
  * @return a DocumentBuilderFactory
  */
  public static DocumentBuilderFactory newDocumentBuilderFactory() {
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   dbf.setNamespaceAware(true);
   return dbf;
  }
  /**
  * 将传入的一个XML String转换成一个org.w3c.dom.Document对象返回。
  * @param xmlString 一个符合XML规范的字符串表达。
  * @return a Document
  */
  public static Document parseXMLDocument(String xmlString) {
   if (xmlString == null) {
  throw new IllegalArgumentException();
   }
   try {
  return newDocumentBuilder().parse(
   new InputSource(new StringReader(xmlString)));
   } catch (Exception e) {
  throw new RuntimeException(e.getMessage());
   }
  }
  
  /**
  * 给定一个输入流,解析为一个org.w3c.dom.Document对象返回。
  
展开更多 50%)
分享

猜你喜欢

Java中文档对象模型DOM经验小结

编程语言 网络编程
Java中文档对象模型DOM经验小结

jQuery DOM操作小结与实例

Web开发
jQuery DOM操作小结与实例

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JQUERY 对象与DOM对象之转换

Web开发
JQUERY 对象与DOM对象之转换

TChart使用经验小结

编程语言 网络编程
TChart使用经验小结

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

jQuery对象和DOM对象相互转化

Web开发
jQuery对象和DOM对象相互转化

在Java中实现DOM文档和XML文件互相转换

编程语言 网络编程
在Java中实现DOM文档和XML文件互相转换

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

More Effective C++:指针与引用的区别

More Effective C++:指针与引用的区别

CSS顶级技巧

CSS顶级技巧
下拉加载更多内容 ↓