3Sept.2008©NeusoftConfidentialWEB前台技术——XML东软IT人才实训中心课程结构内容课时(H)第一章:XML基础0.5第二章:XML基本语法1.0第三章:XMLDOM0.5第四章:Javascript解析XML文档1.5第一章:XML基础目标:本章旨在向学员介绍XML的相关概念及特点,通过本课的学习,学员应该掌握如下知识:1)了解XML的概念2)了解XML的特点时间:0.5学时教学方法:讲授ppt+课堂演示XML简介•XML9可扩展标记语言(eXtensibleMarkupLanguage)9XML是一种类似于HTML的标记语言9是一种平台无关的传送及携带数据的方法9XML用途¾存储数据¾Web服务★¾博客和其他数据联合¾配置文件XML简介XML简介•浏览XML9使用IE可以直接浏览XML文档示例:abook.xml9使用文本编辑器或专门的XML编辑器浏览XML文档9对于正确的XML文档,如果没有任何额外的信息指示如何显示数据的情况下,浏览器一般以树状视图的形式显示XML数据9如果是不正确的XML文档,浏览器会报错XML的特点•特点9不能描述网页具体的外观9可以用于不同平台之间交换数据9没有固定的标记,允许用户随便发明和创建自己的标记——可扩展性¾HTML中的标记都是特定的9标记名称可以使用非英文字符XML与HTML比较•XML与HTML9内容9格式要求9标记9总结:¾HTML用来显示数据,重点是“如何显示数据”¾XML用来描述数据,重点是“数据是什么”XML与数据库比较•XML与数据库9结构¾数据库的表结构是设计者自定义的,XML文档的结构是由标签确定的9被应用¾都可以被应用程序使用9关系¾多个XML文档的元素之间还可以定义主外键关系9使用¾XML适合数据交换,但不适合于大批量数据的存储和处理使用XML的好处平台平台便于不同系统平台的信息互通接口接口为不同数据库的数据提供了统一接口,支持更精确的数据检索其它其它可扩展性、灵活性、自我描述性(可读性)第二章:XML基本语法目标:本章旨在向学员介绍XML的基本语法,通过本课的学习,学员应该掌握如下知识:1)了解XML的文档声明2)了解XML的元素、命名规则、属性、元素内容、处理指令等概念时间:1.0学时教学方法:讲授ppt+课堂演示+上机XML文档的基本结构•XML文档的基本结构9XML声明9处理指示(可选)9XML元素9拥有以上三个部分的XML文档被称为形式良好的(wellformed)XML文档XML文档声明•XML声明9每一个XML文档都以一个XML声明开始9表示该文档是一个XML文档,以及遵循哪个XML版本的规范¾如果在XML文档中包括声明,则该声明必须是文档的第一个内容。¾声明中必须包含version属性。¾声明中如果包含所有属性,则排列顺序依次为:版本号属性,字符集属性,独立文件属性,不能颠倒。¾XML声明必须小写(内码声明除外:“gb2312”和“GB2312”均可)。¾声明中的属性值(如:“gb2312”)要用单引号或双引号定界。?xmlversion=“1.0”encoding=“gb2312”standalone=“yes”?XML文档声明•XML文档声明属性9encoding属性(可选的)¾注明XML文档使用的字符编码方式¾Unicode(缺省)——UTF-8或UTF-169standalone属性(可选的)¾说明文档是否是独立的¾该属性取值有两种:yes或no¾yes(缺省)——该文档没有依赖外面的任何文件而可以独立存在¾no——该文档依赖于外面的某个文件XML文档声明•示例XML文档处理指令•处理指令9为处理XML文档的应用程序提供提示信息9处理指令格式:¾?xml-stylesheettype=“text/css”href=“book.css”?9XML解析器会把处理指令原封不动地传送给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理示例PICss.xmlbook.css?处理指令名处理指令信息?XML文档处理指令•使用格式显示XML9使用CSS¾在XML文档中标示使用CSS¾效果还可以9使用XSL¾XSL—eXtesnsibleStylesheetLanguage¾在XML文档中标示使用XSL¾功能更多,更强大示例use_xsl.xmluse_xsl.xslXML文档元素•XML元素9XML的基本组成单位是元素9元素由标记来定义¾标记包括起始标记和结束标记/,属性要写在起始标记内¾在XML中,所有元素必须有结束标记元素XML文档元素•注意事项9区分大小写9起始标记要与结束标记匹配9正确书写结束标记9“空标记”可以单独出现XML文档元素•元素内容9混合¾元素内有元素标记和文本内容9简单¾元素内只有简单的文本9空¾元素内部没有携带任何信息XML文档元素•根元素9没有被嵌套在其他元素内的元素,昀高层元素,仅一个9XML文档中所有元素都是根元素的子孙元素示例singleroot.xmlXML文档元素•空元素9不包含任何内容的元素XML文档元素•标记命名规则9在XML中,可以使用自己需要的元素来扩展标记语言9基本规则¾标记名称不能以数字或特殊字符开头¾可以包含字母,数字,下划线等¾不能以字符串“XML”作为开头¾不能包含空格¾尽量不要包含特殊字符¾区分大小写XML文档元素•标记命名规则9判断对错9区分大小写XML文档元素•标记命名规则9流行的命名规则¾标记名称尽量简短¾大小写尽量采用同一标准–完全用小写字母来书写名称,当名称中包含多个单词时,相互之间用下划线隔开»address_book–将每个单词的首字母大写,不使用分隔符»AddressBook9可以使用非英文字符¾推荐使用英文字符+数字来命名XML文档元素•元素属性9属性是元素的可选组成部分,其作用是对元素及内容的附加信息进行描述。标记中可以包含任意多个属性。¾在XML中,属性值一定要用双引号或者单引号引起来,否则将被视为错误,推荐先使用双引号¾属性区分大小写CDATA&PCDATACDATA(CharacterData)—字符数据9不想被解析程序解析的一片原始数据区PCDATA(ParsedCharacterData)—解析数据9由XML解析器解析的内容,当作一般的文字资料来解读•元素内容CDATA&PCDATA•CDATA区示例cdata.xml9不想被解析处理的数据区9“![CDATA[”不能写成“!{cdata[”或“!Cdata[”9CDATA部分是不能嵌套的¾CDATA区不能出现字符串“]]”9可以在CDATA区嵌入其它语言的代码¾JavaScript等CDATA&PCDATA•PCDATA区9直接写在元素的起始标记和结尾标记之间的内容9由XML解析器解析的内容,当作一般的文字资料来解读9XML解析程序会将空格和换行如实地交给下游程序去处理•特殊字符9有些字符不能直接写在pcdata区,如、&等实体字符<>&&''"注释•注释示例comment.xml9注释的内容会被程序忽略而不做解释和处理。9注意:¾不要把注释放在XML的声明之前¾注释不能嵌套使用!--注释的内容--☻练习records.xml9按照下面的要求完成xml文档¾将下面用表格存储的数据,转换成XML文档的形式存储练习IDnamesexphone001叮当男123456002小丸子女654321003柯南男456321注意•注意9文档包含一个或多个元素且至少包含一个元素。9文档中只存在一个称为根的元素,该元素无任何部分出现在其他元素中。9以起始标签和结束标签为界的其他各元素必须严格嵌套。9元素必须正确关闭。9属性值必须加引号。9区分大小写。第三章:XMLDOM目标:本章旨在向学员介绍XMLDOM,通过本课的学习,学员应该掌握如下知识:1)了解XMLDOM2)了解DOM树型结构时间:0.5学时教学方法:讲授ppt+上机练习DOM简介•DOM(DocumentObjectModel文档对象模型)9DOM是一项所有浏览器都支持的标准9DOM规范定义了一组与浏览器、编程语言无关的标准对象,利用这些对象模型可以方便的操作XML文档。9DOM是昀为流行的XML文档访问方式•DOM的优缺点•优点:9易用性强—使用DOM时,把所有的XML文档信息都存于内存中,并且遍历简单•缺点:9效率低9解析速度慢9内存占用量过高DOM树型结构•DOM树型结构9在DOM中,文档被模拟为树状,其中XML语法的每个组成部分(例如元素或文本内容)都被表示为一个节点DOM树型结构•DOM树型结构9节点类型说明节点类型含义节点类型常量值Document根节点,所有的其他节点都附属于它9DocumentTypeDTD引用的对象表现形式10Element表示XML元素,其值为元素名称1Attr表示一对属性名和属性值2Text|代表XML文档中的在起始标签和结束标签之间,或者CDATA3中包含的普通文本CDataSection![CDATA[]]的对象表现形式4Comment代表XML注释8DOM树型结构•DOM树中各节点间的关系parentchildsibling练习☻练习book.xml9根据此DOM树型结构,生成XML文档第四章:JavaScript解析XML文档时间:1.5学时教学方法:讲授ppt+上机练习目标:本章旨在向学员介绍如何用JavaScript解析XML文档,通过本课的学习,学员应该掌握如下知识:1)掌握XMLDOM的属性和方法2)掌握用JavaScript操纵XMLDOMJavaScript与XMLDOM•浏览器的支持9今天大多数的浏览器都支持XML9从IE5.0和Mozilla1.0开始,微软和Mozilla在其各自的浏览器中通过JavaScript提供了对XML的支持•JavaScript对XML文档的解析9JavaScript处理XML文档的基础是DOM树形结构9在JavaScript中有关于DOM的API9在JavaScript的DOMAPI中定义了关于DOM的属性、方法9利用JavaScript中的DOMAPI可以实现对XML文档的访问、创建、修改、删除等操作9用JavaScript处理XML文档,是Ajax(AsynchronousJavaScriptandXML)技术的核心解析XMLDOM•解析XML文档9在javascript中,以DOM为基础对XML文档进行解析9用javascript解析XML文档的步骤11、获得XMLDOM文档对象①创建XMLDOM文档对象②载入XML文档数据23、以上完成后,使用javascript中关于XMLDOM的相应属性和方法完成对XML文档的操作解析XMLDOM•获得XMLDOM文档对象—IE浏览器对XML支持9在IE浏览器中,MicroSoft用ActiveX插件中的MSXML库实现对XML的支持¾varxmlDom=newActiveXObject(aVersion);—创建XML对象其中,aVersion的取值有六个Microsoft.XmlDomMSXML2.DOMDocumentMSXML2.DOMDocument3.0MSXML2.DOMDocument4.0MSXML2.DOMDocument5.0MSXML2.DOMDocument6.0varxmlDom=newActiveObject(“MSXML2.DOMDocumet6.0”);varxmlDom=newActiveObject(“MSXML2.DOMDocumet6.0”);解析XMLDOM•获得XMLDOM文档对象—IE浏览器对XML支持(续)9IE支持两种载入XML文档的方法:load()和loadXML()¾varxmlDoc=xmlDom.load(url);—采用异步方式载入XML文档数据¾xmlDom.async=true;varxmlDoc=xmlDom.load(