第十二课 XML操作 主讲:刘杨. 第十二课 XML操作 主讲:刘杨 本章知识点和教学要求 熟悉和了解SML 了解XML基础知识 了解如何使用DOM接口读写XML 了解如何使用SAX接口读写XML.

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

以XML可延伸式標注語言建立文章標誌系統研究- 以蘇軾詩為範圍
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
XML语法 XML文档结构 1 XML文档的元素 2 XML名称空间 3 正确的XML文档 4.
通訊科技教育改進計畫 「網路應用與服務組」 行動電子商務課程 XML之簡介.
OrientX4.0系统开发报告 XML Group July 25, 2009.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
常用逻辑用语复习课 李娟.
XML实用教程 第9讲 计算机与电子系—顾兵.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
Hadoop I/O By ShiChaojie.
武汉纺织大学传媒学院 cm.wtu.edu.cn
网 站 设 计 与 建 设 Website design and developments
欢乐玩转单元测试之JUnit 讲师:FREE QQ:
SOA – Experiment 3: Web Services Composition Challenge
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第3章 文档类型定义DTD DTD与XML文档 定义元素及其后代 定义元素的属性.
网络常用常用命令 课件制作人:谢希仁.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
科研信息管理工具 Endnote X4 王辉.
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
第二章 Java语言基础.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
此簡報可能會牽涉到聽眾的討論活動,也就是所謂的執行項目。因此在進行簡報時﹐可充份利用 PowerPoint 來記錄這些執行項目:
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
SOA – Experiment 2: Query Classification Web Service
编程作业3:网页正文抽取 (10分).
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第十一章 可扩展标记语言 —— XML.
第二章 登录UNIX操作系统.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
张孝祥IT课堂 -深入体验Java Web开发内幕
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
实体描述呈现方法的研究 实验评估 2019/5/1.
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
授课教师:姬广永 QQ: TEL: 学习交流网站:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
Experiment setup Leverage entities in Dbpedia and compute the cohesiveness among the properties used to describe these entities Set up gold standard for.
上杭二中 曾庆华 上杭二中 曾庆华 上杭二中 曾庆华.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第9章 多媒体技术 掌握 Windows 画图工具的基本操作; 掌握 Windows 音频工具进行音频播放;
Turtle规范报告
Python 环境搭建 基于Anaconda和VSCode.
基于列存储的RDF数据管理 朱敏
数据表示 第 2 讲.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
西南科技大学网络教育系列课程 动态网页设计(JSP) 补充 JSP操作XML文件.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

第十二课 XML操作 主讲:刘杨

本章知识点和教学要求 熟悉和了解SML 了解XML基础知识 了解如何使用DOM接口读写XML 了解如何使用SAX接口读写XML

一、XML概述 XML(extensible markup language,可扩展的标记语言)是一套定义语义的标记规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是一种元标记语言,即定义了用于定义其他与特定领域有关的,语义的,结构化的标记语言的句法语言。XML也是一套标记语言,可以扩展,由用户自行定义规则。 XML只描述结构和语义,并不说明数据在浏览器中显示的格式,如果要把XML的内容展示在浏览器中,可结合XSL来实现。

二、XML基础知识 2.1 如何编写XML文档 XML具有良好的可读性,但编写XML文档也有严格的标准,主要有如下的编写规则: 1)标签要配套,有开始必有结束。如<table>…</table>或<table/> 2)标签区分大小写 3)标签可以嵌套,但必须合理。如<user><username>…</username></user>

2.1 如何编写XML文档(续) 4)标签的属性必须以双引号或单引号括起来,即便是数字类型也需要用括起来。 如:<use username = ‘刘杨’> 5)XML文件中只能有一个根元素。根元素是指XML文件中的第一个标签对。 编写XML文件使用普通的文本编辑器即可,如Windows下的记事本,但推荐使用专门的编写工具,如XMLSpy。

2.2 XML文档的结构 XML文档由XML声明、元素、注释、处理命令5部分组成。 1)XML声明 说明:“[”与“]”之间的是可选项。

1)XML声明(续) 注意:XML声明必须位于XML文档的第一行,且前面不能有任何字符;XML声明必须以”<?”开头,以”?>”结尾。 XML的版本号在本书中均使用1.0标准,字符编码方式默认为UTF-8,如果文档中有中文,可使用gb2312。Standalone为yes则表明XML文档是独立的,否则表明XML文档依赖于外部分档。如:

2)文档类型声明 文档类型声明用于定义XML文档中元素和元素的悟性的规则及它们之间的相互关系。这些声明语句也可写在专门的DTD文件存放这些声明,文件的扩展名为.dtd,写在XML文档中的实例如下: 写在DTD文件中的实例如下:

3)注释 注释以<!--开头,-->结尾,XML处理器将忽略注释。注释不能位于XML声明之前,也不能位于标签之中,并且‘--’符号不能出现在注释之中,不允许以-->结尾。

4)元素 元素由元素名称、元素属性和元素内容组成。元素属性实质上就是一个键值对。元素名称需遵循如下的命名规范。 不能是“x”、“m”、“l”这3个字母的大写或小写按顺序组合,如不能是“xml”、“XML”、“Xml”。 只能以字母,下划线,冒号开头 中间不能有空格 如:

4)元素(续) 元素内容中不能有这些字符:<,&,]]>。]]>是CDATA段结束的定界符。另外两个可以用引用来实现。引用的方法是用"&#"后跟数字代码表示或使用预定义实体引用,并以分号结束,详见表11-1所示。 字符 用十进制代码引用字符 用十六进制代码引用字符 预定义实体引用 < < < > > > " " " " ' ' ' &apos; & & & &

4)元素(续) CDATA段表示这个段中包含的内容时是纯字符数据,而非XML标签。一种典型的情形是XML文档中某个元素的内容是一段程序代码,程序代码中可能含有“<”,就可用CDATA端。如下所示:

5)处理指令 处理指令用于说明XML文档中由应用程序来处理的指令,它的声明方法与XML声明类似,实例如下: xml -stylesheet处理指令需位于XML声明之后,第一个XML元素之前,其他处理指令位置不受限制。

2.3 DTD 为保证XML文档结构的完整性以及元素之间的关系的正确性,可使用DTD。可以把DTD理解成为编写XML文档而约定的一套语法规则。 在XML文件中引入DTD的方法如上节中的文档类型声明,引入的方式有两种:内部DTD和外部DTD。

2.3 DTD(续) 1)使用外部DTD 在XML文档中声明文档类型时,可用SYSTEM或PUBLIC关键字来指出外部DTD文件所在位置,格式如下: <!DOCTYPE greeting SYSTEM|PUBLIC "DTD文件路径"> SYSTEM关键字表示XML文档使用的DTD是私有的,PUBLIC关键字表XML文档的DTD是公用的。DTD文件路径可使用相对路径,也可使用绝对路径。如果直接写的DTD文件名,没有路径,则表示DTD文件与当前XML文档位于同一目录中。

2)DTD的结构 DTD由元素类型声明、属性表声明、实体声明、记号声明组成,用于定义XML文件档中的元素结构、属性类型、实体引用。 元素类型声明 元素类型声明用于描述XML文档根元素、文档的内容和结构。元素可以为空,也可以是字符数据,还可以有若干个子元素。子元素也可以有其自己的子元素,因此就存在父子关系。DTD就可以用来描述这种关系,声明元素的类型格式如下: <!ELEMENT 元素名称 元素内容声明>

2)DTD的结构(续) 看一个实例: 上面的语句表示元素name等都是#PACDATA类型,该类型的含义是字符数据,表明这个元素不能包含子元素。如果声明元素的语句是DTD中第一句声明元素的语句,则这个元素是XML文档的根元素。

上面的语句表示student元素有三个子元素,且这三个元素必须严格按照顺序出现在XML文档中。如果父元素必须由两个子元素的一个,就用“|”符号,比如这里的telephone|handset。如果表示父元素的某个子元素至少出现一次,可用“+”符号 ,比如这里的name;如果表示某个元素可出现多次用“*”代替;如果表示某个元素出现0次或1次,可用“?”代替。

元素也可以定义为混合类型,混合类型表示元素可以是混合类型,混合类型表示元素可以是#PCDATA,且#PCDATA必须为第一个,如: 声明元素为空使用EMPTY,声明元素内容可以为任意字符数据或子元素使用ANY。如:

实体声明 实体可用来表示需要重复使用的数据。实体有两种类型:一般实体和参数实体。一般实体是指在文档内容中使用的实体;参数实体是指在DTD中使用的已分析实体。声明实体用ENTITY关键字。 一般实体声明格式如下: <!ELEMENT 实体名称 “实体内容”> 在XML文档中引用实体方式为:&实体名 参数实体声明格式如下: <!ENTITY %实体名 “实体内容”> 引用实体的方式是:%实体名;。但参数实体只能在DTD中被引用。

实体声明(续) 一个完整的实例如下: 首先一个.dtd文件如下:

实体声明(续) 其次一个.xml文件如下:

实体声明(续) 将xml文件以浏览器方式打开,其运行结果为:

属性表声明 属性其实就是元素中的键值对,只能在空元素和元素开始部分出现。通过属性表声明可定义元素的属性名称、数据类型和默认值。属性表声明的格式如下: <!ATTLIST 元素名 属性名 属性类型 默认声明> 默认声明用于说明元素中该属性是否必须出现,如果不是又该如何处理。它有4种设置: #REQUIRED: 表示元素必须提供该属性 #IMPLIED : 该属性是可选的,可有可无 #FIXED 默认值:表示该属性的值不能被修改 默认值:表示该属性的值是可以改变的,如果没有设置,则其值为默认值。

在属性表声明中,属性类型有10种:CDATA、Enumerated、ID、EDREF、IDREFS、ENTITY、ENTITIES、NMTOKEN、 NMTOKENS和NOTATION。

ID:此类型的属性用于唯一标识元素,其属性值中不能出现空格,一个元素只能有一个ID属性。且ID属性必须设置为#IMPLIED或#REQUIRED。如: NMTOKEN :表示属性的类型为名称标记。名称标记不同于XML名称,XML名称不能以除字母、下划线和冒号之外的其他字符开头,而名称标记可以,不过名称标记中也不能有空格。NMTOKENS表示可以有多个值,在XML文档中使用时,止于至之间用空格分开。

IDREF:该类型用于表示元素之间的关联关系,即一个元素中的属性值是本XML文档中另一个元素的属性值,且必须是已存在的。如: 以上语句中student元素由一个属性class_id表示学生所在的班级的ID号,其值必须是在同一XML文档中的class元素中已有的。 如果一个属性需要引用XML文档中多个ID类型的属性值,可声明为IDREF类型。多个值之间用空格分开。

ENTITY:该类型的属性把外部的二进制数据连接到文档中。ENTITY的属性值是在DTD中声明的、未分析的一般实体的名称。如下面一个完整的实例:

其次是xml文件内容如下: 该实例表示student元素由一个属性stu_image,为ENTITY类型。声明了一个实体mypic与图片http://www.yhkjw.net/img/logo.jpg相关联。NDATA表示该实体是一般的未分析的实体。

ENTITIES:如果声明元素时为此类型,则XML文档中该属性可以有多个实体值,值与值之间用空格分隔。 NOTATION:用作记号声明,以指定一个外部程序关联。

小结 关于XML的基础知识就讲到这里,下一讲将讲述用DOM和SAX读写XML的相关知识。

谢 谢 !