探究DOM API用法

开发 前端
DOM是一种相当复杂的API,因而较难以迅速掌握。但是,如能知道所存取数据的DTD,这时就容易得多了。本文将通过若干简单步骤,对如何利用Java版的DOM来存取XML数据进行介绍。

本文向大家简单介绍一下DOM API的概念,DOM API被定义为一系列CORBAIDL接口(请参见资源)。它用一个抽象树来描述一个经过语法分析的XML文档。之所以说它是抽象的,这是因为只有这些接口反映出树形的结构。

开启 DOM API 之门

XML是现在非常流行的数据表达格式,其特点是可移植、与平台无关以及具有直接可读的形式。DocumentObjectModel(DOM)是应用程序存取XML数据的接口。不幸的是,DOM是一种相当复杂的API,因而较难以迅速掌握。但是,如能知道所存取数据的DTD,这时就容易得多了。本文将通过若干简单步骤,对如何利用Java版的DOM来存取XML数据进行介绍。

可扩展标记语言(XML)已经相当普及,它是一种可移植的、与平台无关的且直接可读的数据格式。许多软件厂商均已宣称“支持XML”,这通常是指他们的软件产品将生成或用到XML格式的数据。

XML也同样被看作是企业间交流数据的通用格式。它允许企业在XML文档类型定义(即DTD)的基础上对所交流的数据取得一致。这些DTD文件独立于企业中所使用的数据类型。

许多标准化组织正在致力于规范交流数据的DTD。其中一个例子就是国际出版通信委员会(请参见资源)已经定义了一个XML的DTD,这个DTD可以使“所传输的带有标记的新闻信息能够轻松地转换为电子出版格式”。这些市场标准将使不同应用程序之间能够在未事先确定方式的情况下进行数据的交换。

由W3C定义的XML规范(请参见资源)中规定了XML的语法和语义。一个XML文档必须经过语法分析才能被处理。如果每个程序都必须先对XML进行语法分析再去处理,那将是非常困难的,因为给出这种语言的语法和语义是很复杂的。W3C已经定义了文档对象模型(DOM)(请参见资源)来解决这一问题。DOM是一个针对XML数据的应用编程接口。大部分XML语法分析器都为所分析的XML生成一个DOM描述。

DOM标准

DOM API被定义为一系列CORBAIDL接口(请参见资源)。它用一个抽象树来描述一个经过语法分析的XML文档。之所以说它是抽象的,这是因为只有这些接口反映出树形的结构。而用来实现抽象树的实际数据结构和算法不必是树形结构。

由于DOM API是以CORBAIDL形式规定的,所以它被许多编程语言所支持,包括Java语言。我们假定本文中使用标准的Java语言。DOM规范给出了详细的基于Java接口。

DOM第一层规范是在1998年被采用的。它留下一些保留部分,以根据后来的实践经验来进一步扩充。DOM第二层规范在第一层的基础上增加了对XML命名空间、文档创建、视图和式样单等内容的支持。第二层规范尚有待公众评价。虽然从技术上而言还没有最终完成,但是也已经相当稳定。

对于一个XML文档,许多XML语法分析器均可供Java程序使用,以生成DOM的第一层描述。因此,这里的代码只假定为基于DOM的第一层子集。

【编辑推荐】

  1. 技术分享 如何获取Dom元素的X/Y坐标
  2. JQuery创建DOM元素方法解析
  3. JavaScript获取HTML DOM节点元素详解
  4. JavaScript和DOM轻松实现数据访问
  5. HTML DOM与XML DOM的区别与联系探究

 

责任编辑:佚名 来源: ibm.com
相关推荐

2010-09-28 09:43:37

DOM文档对象模型

2010-09-28 15:27:09

JavaScript

2010-09-28 10:24:50

HTML DOMXML DOM

2010-09-28 08:54:49

JavascriptDOM

2010-09-08 17:26:46

JavaScript

2010-08-25 14:26:09

CSSdisplay

2010-08-30 08:41:43

DIV显示DIV隐藏

2011-03-07 13:27:13

SQLCase

2010-08-30 10:58:19

DIV CSSfloat

2022-02-25 15:08:06

DevEco开发OpenHarmon鸿蒙

2010-09-06 09:57:01

CSS类选择器CSS

2010-09-28 09:49:49

DOM模型

2010-09-10 10:10:36

CSS属性

2010-09-15 14:40:07

HTMLposition属性

2010-09-28 11:03:19

XML DOM

2010-08-26 12:47:15

CSSclass

2010-08-23 13:29:43

HTMLpadding

2010-09-28 09:38:22

DOM模型

2010-09-15 14:00:06

position属性DIV

2021-03-26 11:02:20

Python自然语言API
点赞
收藏

51CTO技术栈公众号