《XML第1章XML基础知识》由会员分享,可在线阅读,更多相关《XML第1章XML基础知识(28页珍藏版)》请在金锄头文库上搜索。
1、XMLXML编程编程q学习本科目的目的和意义学习本科目的目的和意义(WHY):掌握掌握xml的语法的语法用用DOM和和XPATH编程编程q本科目在课程体系中地位本科目在课程体系中地位XML是基础,其他课程的配置文件都是是基础,其他课程的配置文件都是xml格式的格式的q科目目标:科目目标: 掌握掌握xmlxml的语法的语法 掌握掌握DTD的语法的语法 掌握掌握Schema的类型元素的类型元素 会用会用DOM DOM 和和 XPATH APIXPATH API解析解析xmlxmlq科目重难点章节科目重难点章节:重点章节:第二章、第三章、第五章、第七章重点章节:第二章、第三章、第五章、第七章 难点章
2、节:难点章节: 第三章第三章第一章第一章XML基础知识本章目标本章目标 XML简介 XML文档的组成XML的语法规则元素的语法XML文档的有效性XMLXML简介简介 XML的起源 1996年,万维网协会开始设计一种可扩展的标记语言 1998年,XML1.0成为了W3C的推荐标准XML的目的使数据或数据结构在任何编程语言环境下共享XMLXML简介简介XML( eXtensible Markup Language,可扩展标记语言)可以定义自己的一组标签使人们或程序能够理解这些标签标记语言的层次结构 SGML XMLXML是元语言基于文本的格式,允许开发人员描述结构化数据并在各种应用之间发送和交换这
3、些数据有助于在服务器之间传输结构化数据允许通过使用自定义格式,标识、交换和处理数据库可以理解的数据 HTMLXMLSpy 2006XMLSpy 2006工具简介工具简介(1)XMLSpy是一个非常好的XML编辑器软件,在本书中主要使用XMLSpy 2006企企业业版版作为编辑XML的编辑器,安装完成后,打开XMLSpy 2006编辑器,如下图所示:XMLSpy 2006界面界面 图图XMLSpy 2006XMLSpy 2006工具简介工具简介(2)当编辑XML文档时,首先要新建XML文档,依次点击“文件”“新建”菜单项,在打开的“创建新文档”窗口中将文档类型设为“XML Document”,点
4、击“确定”按钮,即弹出“新建文件”对话框,点击“取消”按钮后,就会创建一个XML文档,进入XML文档的编辑界面,如图1-2所示: 文档编辑界面文档编辑界面 XMLSpy 2006XMLSpy 2006工具简介工具简介(3)在上图所示的文档编辑界面工具栏中,带黄色的对勾“”菜单(快捷键F7)用来检测某个XML文档的格式是否良好。使用绿色对勾“”菜单(快捷键F8)来检测某个XML文档格式是否有效。如下图显示了“黄底白勾的圆形标记”,表示该XML文档的格式良好;显示“绿底白勾的圆形标记”,表示该XML文档格式有效。 :XMLXML和和HTMLHTML的区别的区别XML和HTML都是用于操作数据或数据
5、结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别,它们的区别主要有以下几点: 语法要求不同语法要求不同 标记不同标记不同 作用不同作用不同 在在HTML中不区分大小写,在中不区分大小写,在XML中对大小写要求非常严格。中对大小写要求非常严格。HTML使用固有的标记,而使用固有的标记,而XML没没有固有标记。有固有标记。 HTML用于显示页面,而用于显示页面,而XML用于描述页面内容用于描述页面内容的数据或数据的结构。的数据或数据的结构。HTML把数据和显示合在把数据和显示合在一起,在页面中把这些数据显示出来,而一起,在页面中把这些数据显示出来,而XML则则将数据和显示分开。将数据和
6、显示分开。XMLXML的优势的优势 XML最大的优势在于它能对各种编程语言编写的数据进行管理,使得在任何平台下都能通过解析器来读取XML数据。它的优势可归纳为以下几点: 数据的搜索数据的搜索 数据的显示数据的显示 数据的交换数据的交换 在在XML中可以提取文档中任何位置中可以提取文档中任何位置的数据,的数据, XML将数据的结构和数据的显示形式分开,根据将数据的结构和数据的显示形式分开,根据需要使数据呈现出多种显示方式。如需要使数据呈现出多种显示方式。如HTML、PDF等格式。等格式。XML标记语言的语法非常简单,可以通过解析器标记语言的语法非常简单,可以通过解析器在任何机器上解读。并可以在各
7、种计算机平台上使在任何机器上解读。并可以在各种计算机平台上使用。逐渐成为一种数据交换的语言。用。逐渐成为一种数据交换的语言。 XML XML文档的组成文档的组成 XML文档也属于纯文本文件,该文档一般如下四部分组成: XML文档注释文档注释 XML标识及其内容标识及其内容 XML文档的声明文档的声明 XML文档类型定义文档类型定义 按照这种文档格式来编写的一个按照这种文档格式来编写的一个XML文文件,如下所示:件,如下所示:Jone20前三部分都是可选的前三部分都是可选的XMLXML文档的组成文档的组成由一组使用唯一名称标识的实体组成以根或文档实体开始! DOCTYPE letter SYST
8、EM letter.dtdTom 您好XML 声明文档类型定义实体定义文档元素处理处理注释的语法如下:使用注释时要遵循的规则注释的文本中不应包含“-”或“” 注释不应放在标签里面注释不能放在实体声明中,也不能放在 XML 声明之前注释可用于注释标签集注释不能嵌套处理说明 应用程序的名称说明信息创建创建 XML XML 文档文档构建 XML 文档的步骤:陈述 XML 声明创建根元素创建 XML 代码 演示:创建 XML 文档管理元素的规则至少需要一个元素XML 标签区分大小写应正确使用结束标签正确嵌套标签应使用合法标签标记名称的长度应定义有效的属性应验证文档数据和标记的比较数据和标记的比较XML
9、 文档由数据以及描述该数据的标记组成 成龙成龙 标记标记字符字符数据数据声明声明 !DOCTYPE myDoc .declare the entities here在此处声明实体.body of the document文档正文.DOCTYPE Declaration声明演示:示例 2!DOCTYPE CUSTOMERS 成龙 &FIRSTFLOOR; 5715746 阿诺德 &SECONDFLOOR; 6865863 声明DOCTYPE 声明一般实体根节点节点的详细信息XMLXML文档有效性文档有效性结构良好的XML文档符合XML语法规范的文档有效的XML通过了DTD的验证的,具有良好结构的
10、XML文档。格式良好和有效的格式良好和有效的 XML XML 文档文档被视为格式良好的 XML 文档的条件:该文档满足最低要求集如果文档不满足任何一个良好格式的要求,则将发生致命错误有效的 XML 文档是符合 Document Type Definition(文档类型类型,DTD)的规则的格式良好的 XML 文档解析器解析器-由解析器解析的 XML 文档在浏览器中查看已解析的文档 带有 XML 文档的编辑器解析器类型非验证解析器验证解析器检查文档格式是否良好使用 DTD 检查文档的有效性XMLXML的基本语法的基本语法 XML的语法规则的语法规则 正确的嵌套包含正确的嵌套包含 结束标记不可忽略
11、结束标记不可忽略 区分大小写区分大小写 在在HTML中某个标记有起始标记,却可以没中某个标记有起始标记,却可以没有结束标记,但在有结束标记,但在XML文档中却不可以。文档中却不可以。在在XML中严格区分大小写,主要表现在开始标记中严格区分大小写,主要表现在开始标记和结束标记的大小写必须相同。还包括文档的声和结束标记的大小写必须相同。还包括文档的声明部分和文档类型定义部分的大小写区分。明部分和文档类型定义部分的大小写区分。元素元素 元素是XML文档的重要组成部分,在XML文档中必须存在元素。XML文档的元素一般是由标记头、标记末和标记间的字符串数据构成,如下代码所示: this is test元
12、素元素a的元素名或标签名的元素名或标签名 元素元素a的值的值 XML文档中的第一个元素被称为根元素,在任何一个文档中的第一个元素被称为根元素,在任何一个XML文档中文档中有且只有一个根元素。其余所有的元素都是子元素,子元素必须正有且只有一个根元素。其余所有的元素都是子元素,子元素必须正确的嵌套在根元素中。确的嵌套在根元素中。标记间的字符串数据就是该元素的值,在标记间的字符串数据就是该元素的值,在XML中,如果元素的值中中,如果元素的值中存在空格,那么这些空格将按原样解析出来存在空格,那么这些空格将按原样解析出来 实体实体 预定义实体表如下所示预定义实体表如下所示:实体名引用格式表示的符号lt&
13、lt;amp&&apos'quot"实体在实体在XML文档中的一般引用格式如下:文档中的一般引用格式如下:&实体名实体名; 属性属性 属性是用来修饰某个元素的,如:this is test属性名属性名 属性值属性值 关于元素的属性需注意如下几个问题:关于元素的属性需注意如下几个问题:属性的值必须用引号括起来,如:属性的值必须用引号括起来,如: attribute1=“aa” 或或attribute3=aa ;元素的属性以名和值成对出现;元素的属性以名和值成对出现;用来修饰同一个元素的属性的属性名不能相同用来修饰同一个元素的属性的属性名不能相同 ;属性值不能包含属性值
14、不能包含“&”、“”、“”等字符。等字符。 标签间的字符数据的分类标签间的字符数据的分类开始标签和结束标签之间的文本被定义为“字符数据”字符数据可以是“”以外的任何合法 (Unicode) 字符字符数据的分类PCDATACDATA将由解析器解析不会由解析器解析 !CDATA JACKIE CHAN成龙 不允许在 CDATA 块之内使用字符串“”,因为它表示 CDATA 块的结束CDATACDATA节节 CDATA节主要用于脚本语言内容、示例XML文档内容和HTML内容。如下所示:test!CDATA if(20注意:在注意:在“”之间不能再加入之间不能再加入CDATA节节 或或“”总结总结XML简介XML文档的组成XML的语法规则 元素的语法XML文档的有效性作业作业复习题: 编写关于班级学生信息的xml文档 编写一个简单家谱xml文档 预习题: DTD的语法规则有哪些?