设为首页
收藏本站
最近更新

文章搜索
本类热门

 

首页 >> 网络编程 >> XML >> XML教程 >> 新闻正文 [字体:  ] [打印文档
在 HTML中显示XML数据的策略

文章作者:广州工程技术职业学院 张晞
责任编辑:rosan 录入时间:2005-3-8 21:10:58 来源:
频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意. 

t” DATAFLD=”productname”>

    <TR>

      <TD><SPAN DATAFLD=”$TEXT”></SPAN></TD>

      <TD><SPAN DATAFLD=”Supplier”></SPAN></TD>

    </TR>

    <TABLE>

  ……

二、 DOM 技术

  1 . DOM 技术的特点

  DOM 是 XML Document Object Model 的简称。它是 XML 文档和 HTML 文档的接口,其中包含一系列代表 XML 文档不同部件的程序对象。利用这些对象的属性和方法,并使用脚本语言(如 VBScript 或 JavaScript 等)编制成脚本后,就可以在一个 HTML 页面中显示 XML 文档的数据。虽然利用 DOM 技术比数据绑定技术复杂,但它可以处理及显示结构规则或不规则的 XML 文档中任意部件(如元素、参数、处理指示、注释、实体和标记等)的数据内容,

  和数据绑定技术类似,要使用 DOM 技术,必须首先对 XML 文档源进行引用:

  <XML ID=”product” SRC=”product.xml”></XML> ‘ 对 XML 文档源的引用

  接着,就可以利用 DSO 的 XMLDocument 成员使用 DOM :

  Document=product.XMLDocument

  作为 W3C 的标准接口规范,目前, DOM 由三部分组成,包括:核心( core )、 HTML 和 XML 。核心部分是结构化文档比较底层对象的集合,这一部分所定义的对象已经完全可以表达出任何 HTML 和 XML 文档中的数据。 HTML 接口和 XML 接口两部分则是专为操作具体的 HTML 文档和 XML 文档而提供的高级接口,它们可以使得对这两类文件的操作更加方便。

  当 DOM 对 XML 文档进行分析之后,不管这个文档有多简单或者多复杂,其中的信息都会被转化成一棵对象节点树(如图 1 )。在这棵节点树中,有一个名为 Document 根节点,所有其他的节点都是根节点的后代节点。 DOM 实际上是利用对象来把文档模型化,这些模型不仅描述了文档的结构,还定义了模型中对象的行为。换句话说,图 1 中的节点不是数据结构,而是对象。 DOM 接口利用对象中包含的方法和属性,就可以访问、修改、添加、删除、创建树中的节点和内容。

  在 DOM 接口规范中,有四个基本的接口: Document , Node , NodeList 以及 NamedNodeMap 。其中, Document 接口是对文档进行操作的入口。它是从 Node 接口继承过来的。 Node 接口是其他大多数接口的父类,象 Documet , Element , Attribute , Text , Comment 等接口都是从 Node 接口继承过来的。 NodeList 接口是一个节点的集合,它包含了某个节点中的所有子节点。 NamedNodeMap 接口也是一个节点的集合,通过该接口,可以建立节点名和节点之间的一一映射关系,从而利用节点名就可以直接访问特定的节点。

图1

  2 .利用 DOM 对 XML 文档的数据进行处理

  (1) 对 XML 某个元素的数据进行处理

  其形式如下:

  productid.innerText=DocumentElement.childNodes(0).text; ‘ 取得 productid 的数据,并将它赋给 HTML SPAN 元素的 innerText 属性

  <SPAN ID=”productid” STYLE=”font-weight:bold”></SPAN> ‘ 显示 productid 的数据

  (2) 对 XML 文档中同名元素的所有数据进行处理

  其形式如下:

  Nodelist=Document.getElementsByTagName(“productname”); ‘ 取得所有 productname 的数据,并形成一个 Nodelist 集合

  For(i=0;i<Nodelist.length;++i)

  ResultHTML+=Nodelist(i).xml+”\n\n”;

  ResultDiv.innerText=ResultHTML; ‘ 用循环语句显示所有 productname 的数据

  (3) 对 XML 元素的参数数据进行处理

  其形式如下:

  NamedNodeMap=Document.DocumentElement.childNodes(0).attributes; ‘ 取得所有 product 的参数,并形成一个 NamedNodeMap 集合

  For(i=0;i<NamedNodeMap.length;++i)

  Alert(NamedNodeMap.getNameItem(i).nodeValue); ‘ 用循环语句显示所有 product 参数的数据

  如果在参数中包含有实体,则应采用下列形式对 XML 的实体和实体中的标记进行访问:

  Attribute=Document.DocumentElement.childNodes(0).attributes(0); ‘ 取得 product 元素的参数

  If(attribute.datatype==”entity”) ‘ 检测参数的类型是否为 entity 类型

  Entity=Document.doctype.entities.getNameItem(attribute.nodeValue); ‘ 取得 XML 文档的 DTD 声明中的某个实体的名字

  DisplayText=Entity.attributes.getNameItem(“SYSTEM”).nodeValue; ‘ 取得该实体中 system 的源文件数据

  NotationName=Entity.attributes.getNameItem(“NDATA”).nodeValue; ‘ 取得该实体中 NDATA 标记的名字

三、结束语

  目前,有三种途经可以在 IE5 中显示 XML 文档的数据:样式单、数据绑定及 DOM 。样式单的特点是单独设计一个用于处理显示格式的样式单( CSS 样式单或 XSL 样式单),然后在 XML 文档中对样式单进行引用;而后面两种技术的特点是利用 HTML 文档对 XML 存贮的数据进行显示,这样,可以将 XML 和 HTML 相结合,充分利用 XML 和 HTML 各自的优点。

  参考书目:

  (1) Natanya Pirts 编 . XML 轻松进阶 . 电子工业出版社 . 2000 年月 1 月

  (2) Jake Sturm 编 . XML 解决方案 . 北京大学出版社 . 2001 年 4 月

此新闻共有2页 上一页 1 2 下一页

推荐好友 | 频道收藏 | 打印文档 | 报告错误  
相关连接
·在 HTML中显示XML数据的策略
·XML的四种解析器原理及性能比较
·xmlHTTP技术资料
·XML入门精解之结构与语法
·探索 XML 的替代语法 —— 阅读和思考
·XML与HTML的结合(下)
·XML与HTML的结合(上)
·如何建立一个 XML 的开发环境
同一专题
·无相关专题
发表评论 版权声明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有
转载
要求转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
共有评论查看评论
姓名: