文档介绍:第十五讲:JavaScript与XML技术
讲师:杨贵
e-mail:jtclass@
课程内容安排
XML简介
使用DOM
HTML DOM
综合练习
XML简介
XML应用背景
XML技术已经为成为中间数据的标准格式,使用XML描述的数据可以在任何系统间进行数据交换。近年来XML已经广泛的使用在了应用开发的各个方面,。在Web开发中,XML用于描述各种各样的数据用以交换,比如最近流行的Ajax技术就使用XML来描述在浏览器端到服务器端的数据。
XML是Extensible Markup Language的缩写,它是一种类似于HTML的标记语言,用来描述数据的层次结构及存储数据。
XML简介
XML是一种描述数据结构的语言,与之相应的是XML语言解析器。
如果没有解析器它所描述的数据就无法理解,同时也失去了意义。
程序接口对程序员来说统称为API,最先出现针对XML的API是SAX(Simple API for XML),它是一套程序包。
SAX提供了一套基于事件的XML解析的API。SAX解析器从XML文件的开头出发,每当遇到节点标签、文本或者其他的XML语法时,就会激发一个事件。事件处理程序由应用开发人员编写,因此可以在事件处理程序中决定如何处理XML文件当前节点的数据。
XML简介
W3C的DOM规范制定了一系列标准用于描述结构化、层次化的数据,例如HTML和XML。使用DOM接口处理XML文件是当前WEB客户端开发常用的方法,大多数浏览器都实现W3C制定的DOM接口。
节点的层次
DOM以树的形式组织文档中的数据,树的结构也就是由HTML或XML文档的元素节点组成的结构。遍历一个文档中所有结点就是遍历DOM树的操作,第一个节点使用一个Node对象来表示,该对象提供了操作节点的接口
document是最顶层的节点,所有的其他节点都是附属于它的。
XML简介
XML文档节点层次如下XML代码片段所示
01<?xml version="" encoding="gb2312"> <!--XML文件开始-->
02 <products> <!--产品集合-->
03 <product> <!--产品-->
04 <name>IBM Thinkpad R61i 7732CJC</name><!--名字-->
05 <price>5300</price> <!--价格-->
06 </product> <!--产品结束-->
07 <product> <!--产品-->
08 <name>CGX</name> <!--名字-->
09 <price>100</price> <!--价格-->
10 </product> <!--产品结束-->
11 </products> <!--产品结束-->
12 <customers> <!--客户集合-->
13 <customer> <!--客户-->
14 <name>Peter</name> <!--名字-->
15 <phone>123456</phone> <!--电话-->
16 </customer>
17 <customer> <!--客户-->
18 <name>Zognan</name> <!--名字-->
19 <phone>456789</phone> <!--电话-->
20 </customer>
21</customers> <!--客户集合结束-->
XML简介
XML简介
特定语言的文档模型
DOM模型是以XML为核心,所有遵循DOM规范的文档都可以使用DOM接口来处理。但已经得到广泛应用的HTML却没有完全遵循DOM规范,因此为了能支持HTML,W3C提出针对HTML的DOM规范。
使用DOM
DOM接供操作遵循DOM规范文档的能力,使用DOM来操作页面中的元素。
诸如,更改元素显示的内容、添加删除节点、遍历统计节点、过滤特定内容等等。
访问相关的节点
JavaScript在Web客户端的编程工作基本上都围绕DOM展开,DOM的常用操作就是创建、访问、修改各个元素节点。
childNodes:每一个节点的所有下一级子节点组成一个集合,该集合作为该节点的childNodes属性。
使用DOM
下面是Node对象的常用方法和属性:
firstChild,表示头一个子节点。
lastChild,表示最后一个子节点。
hasChildNodes(),判断是否拥有子节点。
childNodes,子节点集合。
parentNode,其父节点的引用。
演示:范例15-1,检测当前HTML文档BODY标签下的所有节点,并将节点名输出。
处理节点属性
DOM的节点对象都拥有一些从Node对象继承而来的属性,也可以拥有自己