《xml培训课件》PPT课件_第1页
《xml培训课件》PPT课件_第2页
《xml培训课件》PPT课件_第3页
《xml培训课件》PPT课件_第4页
《xml培训课件》PPT课件_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XML,目的,了解可扩展标示语言 (可扩展标示语言),HTML(超文本标记语言) 和 SGML(标准通用标记语言) 之间的关系 学会创建一个基本的可扩展标示语言文档,掌握可扩展标示语言语法 了解爪哇语言编程接口去解析和维护可扩展标示语言文档的相关技术,JAXP,DOM,SAX,XML和标记语言,什么是XML? XML是可扩展标示语言(Extensible Markup Language )的缩写,是一种标记语言。 什么是标记语言? 标记语言是在文本文件中插入一些标记,把文档分成许多部分,使用插入的标记对这些被分割的文档各个部分加以标识和描述。 使用Java进行XML编程,一个标记语言的例子,下

2、面是一段介绍教程信息的普通文本: 本课程名称是使用爪哇进行可扩展标示语言编程。本课程介绍学习用Java语言编写的程序来分析、管理和使用XML(扩展标记语言)的文档和数据。本教程适用于软件工程师、软件开发员、应用程序开发员或开发处理、管理和操控XML数据或文档应用程序的技术经理。本课程属于XML编程类别。,一个标记语言的例子,下面是进行了标记的课程介绍: 使用Java进行XML编程 学习用Java语言编写的程序来分析、管理和使用XML(扩展标记语言)的文档和数据 软件工程师、软件开发员、应用程序开发员或开发处理、管理和操控XML数据或文档应用程序的技术经理。 XML编程,、, 、, 、,在这里我

3、们加入了四个标记:,,分别表明了这四段文本的表达含义。,由于加入了相应的标记,我们就可以使用计算机程序去解析和处理这一 段文本了,例如,如果我们用这种标记形式的文本描述我们全部的教程, 那么我们就可以编程找出某一类别的全部教程的名称。而在未标记的文 本上编程就要困难多了。,有什么好处呢?,标记语言的历史 第一个标记语言GML由IBM在1960年发明,通用标记语言:General Markup Language (GML) 标记语言具有很长的历史,在1960年下半年,为了容易的在不同的计算机平台之间交换文本文件,IBM的一个在文本文件显示方面进行研究的项目组发明了GML。,GML 1960年,S

4、GML,HTML,XML,标记语言的历史,标准通用标记语言:Standard Generalized Markup Language (SGML) SGML的起始版本是被美国国家标准协会(ANSI)对GML标准化后产生的。在1980年,SGML被核准为一个ISO标准。 SGML是一种非常强大的标记语言,SGML能表现各种类型的文档,它已经被美国政府及其合同商、大型制造公司、大型出版商广泛采用为他们的文件标准。SGML提供一系列复杂规则来定义文档的结构。SGML对储存和使用大量的文档是适当的。但是,它的复杂性及其实现所需要的大量资金又意味着大多数商业用户和个人用户无法享受此项技术所带来的益处。,

5、GML 1960年,SGML 1980年,HTML,XML,GML被ANSI标准化为SGML,SGML在1980年成为ISO标准,超文本标记语言:Hyper Text Markup Language (HTML) 是HTML使标记语言广为人知。是HTML和WEB一起奠基了互联网的今天。HTML是被CERN(The European Laboratory for Particle Physics 欧洲粒子物理实验室)在1990年开发和发表出来的。HTML是一种起源于SGML的标记语言。HTML仅仅是被SGML的一种文件格式定义(DTD)约束的文档显示格式。,GML 1960年,SGML 1980

6、年,HTML 1990年,XML,HTML成为最为人所知的标记语言,标记语言的历史,标记语言的历史,可扩展标记语言:eXtensible Markup Language (XML) 可扩展标记语言被设计以更容易地在互联网上使用SGML为目的。它是SGML的一个简化版本。XML在1996年以后由全球信息网协会 (W3C)里的XML工作组来进行标准化。W3C当前推荐的标准为1.0。HTML也可以被认为是被XML的一种文件格式定义(DTD)约束的文档显示格式。,GML 1960年,SGML 1980年,HTML 1990年,XML 1996年,XML是SGML的一个简化了的子集,现在是W3C所推荐的

7、标准,在不同的计算机平台之间交换文本文件有何困难?,我们考虑一下,你试着去打开用20年前的文档编写软件编辑的文档, 你极大的可能是面对着束手无策的困境,为什么?因为任何文档编写 软件编写的文档的格式是专用的,都要在文档中插入一些特殊标记, 如字体、大小等等,但这个公司可能已经消亡了,甚至软件运行需要 的那种机器的型号也已经不存在了,你已经无法识别这种文档的标记 及其内容了。,縭H 侟;?xO榉?傭鋨搖/c:/傓?1跄?潱鮀匵縭H 侟;String傭鋨搖/?詛?_C傓?1跄?潱鮀匵java1菔富蒭徎D縭H 侟;?xO,在不同的计算机平台之间交换文本文件有何困难?,而上面这一段文字,无论多少年以后

8、,你用文本编辑器打开,你一样能读懂,更重要的是你能够编写程序去处理它。, 使用Java进行XML编程 学习用Java语言编写的程序来分析、管理和使用XML(扩展标记语言)的文档和数据 软件工程师、软件开发员、应用程序开发员或开发处理、管理和操控XML数据或文档应用程序的技术经理。 XML编程 ,在不同的计算机平台之间交换文本文件有何困难?,如果你的公司每天要产生大量的文档,并且要保证未来50年都是可用的,并且能够由计算机自动处理,你选择什么文档存储格式呢?,縭H 侟;?xO榉?傭鋨搖/c:/傓?1跄?潱鮀匵縭H 侟;String傭鋨搖/?詛?_C傓?1跄?潱鮀匵java1菔富蒭徎D縭H 侟;?

9、xO縭H 侟;?xO榉?傭鋨搖/c:/傓?1跄?潱鮀匵縭H 侟;String傭鋨搖/?詛?_C傓?1跄?潱鮀匵java1菔富蒭徎D縭H 侟;?xO, 使用Java进行XML编程 学习用Java语言编写的程序来分析、管理和使用XML(扩展标记语言)的文档和数据 软件工程师、软件开发员、应用程序开发员或开发处理、管理和操控XML数据或文档应用程序的技术经理。 XML编程 ,?,HTML和XML,HTML 始终是最成功的标记语言。您几乎可以在任何设备(从掌上电脑到大型机)上查看最简单的 HTML 标记。既然 HTML 成功了,为什么 W3C 还要创建 XML 呢?,HTML和XML,下表是关于本课程

10、的一个表格描述: 科目: 使用Java进行XML编程 作者: 丰伟 分类: WEB服务,HTML和XML,课程信息的HTML描述: 1 2 3 课程信息 4 5 6 7 科目使用Java进行XML编程 8 作者丰伟 9 分类WEB服务 10 11 12 ,HTML和XML,课程HTML文档的浏览效果,HTML和XML,1 2 3 课程信息 4 5 6 7 科目使用Java 进行XML编程 8 作者丰伟 9 分类WEB服务 10 11 12 ,HTML标记的第一个缺点:只为页面内容的视觉效果进行标记,HTML的标记主要是 为页面内容的视觉效果 进行标记,而不是标记所 包含的内容的真正含义。 “W

11、EB服务”并不能 告诉我们任何东西。这个 文档中的标记告诉浏览器 如何显示该信息,但标记 没有告诉浏览器信息是 什么。,1 2 3 课程信息 4 5 6 7 科目使用Java 进行XML编程 8 作者丰伟 9 分类WEB服务 10 11 12 ,HTML和XML,假如需要从该文档中抽取作者姓名。 下面是一个在这个HTML中 查找课程作者的算法: 找到第二个 标记,课程作者就是 这个和后面间包含的内容。 该算法对于这个示例起作用, 但对于全世界许多完全有效的课程 介绍,该算法根本不起作用。 许多和后面间包含的内容 的段落根本不包含作者。,HTML标记的第一个缺点:只为页面内容的视觉效果进行标记,

12、HTML和XML,HTML提供一组被预先定义的标签,用户不能够自定义所需要的独特的标签。 如果标记语言中没有所需的标记,用户只好等待标记语言的下一个版本,希 望在新版本中能够包括所需的标记,但是这样一来就得依赖于软件开发商的 选择了。,HTML标记的第二个缺点: HTML是不可扩展的。,23 log416,如何去转换,?,HTML,HTML和XML,课程信息的XML描述: 使用Java进行XML编程 丰伟 WEB服务 看这 XML 文档,您可以给文档中的标记赋予某种含意。机器也容易处理这样的信息。您只需通过找到 中 和 标记之间的内容,就可以从该文档抽取作者姓名。,HTML和XML,XML是对

13、文档内容进行描述,而不是标记如何显示文档。XML标签的特点是一目了然地反映出所要标记的文本的内容,像,我们一看就知道标签包含的内容是什么。而不是、等格式化信息。,1 2 3 课程信息 4 5 6 7 科目使用Java进行XML编程 8 作者丰伟 9 分类WEB服务 10 11 12 , 使用Java进行 XML编程 丰伟 WEB服务 ,HTML和XML,可扩展标记语言XML文件的创建是非常容易的。和HTML不同,XML不用预先定义任何基本标签。当你建立XML文档时,XML允许你创建对你表示数据有意义的独特的标签。,而不是只能使用那些受限制的预先定义好的元素群组,因而达成了可延伸标记语言中的可延

14、伸(extensible)的特性。,1 2 3 课程信息 4 5 6 7 科目使用Java进行XML编程 8 作者丰伟 9 分类WEB服务 10 11 12 , 使用Java进行 XML编程 丰伟 WEB服务 ,如何显示XML,如果用浏览器打开XML文档,它仅仅显示XML原始内容。,如果要通过浏览器显示XML文档,我们可以使用可扩展样式表语言(Extensible Stylesheet Language for Transformation(XSLT)将XML文档转换成HTML显示在浏览器上。,如何转换,?,如何显示XML,HTML文档: 科目使用Java进行XML编程 作者丰伟 分类WEB服

15、务 ,XML文档: 使用Java 进行 XML编程 丰伟 WEB服务 , 科目 作者 分类 , 使用Java进行XML编程 丰伟 WEB服务 ,XML 声明,根元素,XML文档的基本结构,一个简单的良好的XML文档,XML文档的基本结构,Version information,Encoding declaration,Standalone declaration,声明最多可以包含三个名称-值对。,大多数 XML 文档以XML声明作为开始,它提供了关于文档的基本信息。 建议使用XML声明,但它不是必需的。 如果有的话,那么它必须放到文档的最开始。,XML文档的基本结构,Version infor

16、mation,Encoding declaration,Standalone declaration,encoding是该文档所使用的字符集。如没有指定 encoding,XML 解析器会假定 字符在UTF-8字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的 Unicode 标准。,version是使用的 XML 版本;目前该值必须是 1.0。,standalone(可以是 yes 或 no)定义了是否可以在不读取任何其它文件的情况下 处理该文档。例如,如果 XML 文档没有引用任何其它文件,则您可以指定 standalone=“yes”。如果 XML 文档引用其它描述该文档可以包含

17、什么的文件, 则您可以指定 standalone=“no”。因为 standalone=“no” 是缺省的,所以您很少会 在 XML 声明中看到 standalone。,XML文档的基本结构,使用Java进行XML编程,Element,Element contents,XML文档的基本结构,标记和元素: 标记是左尖括号()之间的文本。有开始标记(例如 )和结束标记(例如 ) 元素是开始标记、结束标记以及位于二者之间的所有内容。在上面的样本中, 元素包含三个子元素:、 和 。 开始标记和结束标记之间是元素的内容。,XML文档的基本结构,丰伟,Attribute name,Attribute va

18、lue,Specified attributes,注:一个元素可以 有多个属性,XML文档的基本结构,属性: 属性是一个元素的开始标记中的名称-值对。在该示例中,性别是 元素的属性,性别,XML文档的基本规则,XML规格需要所有的XML文档必须在组织上是树状阶层结构,并且逻辑和物理结构必须符合一系列特殊的规则,这些规则使得编写解析和处理XML文档的应用程序相当容易。,XML文档的基本规则,1含有数据的元素必须有起始标记和结束标记。不能省去任何结束标记。 2不含数据并且仅使用一个标记的元素必须以/结束。 如果一个元素根本不包含标记,则称为空元素,HTML 换行()和图像()元素就是两个例子。 在

19、 XML 文档的空元素中,您可以把结束斜杠放在开始标记中。 和对于 XML 解析器来说是一回事。,标记是不合乎规则的,因为没有结束段落标记。,是合乎规则的。虽没有数据,但是最后标签不能省略。,是合乎规则的。,XML文档的基本规则,3元素只能嵌套不能重叠。 如果您在 元素中开始了 元素,则必须在 元素中结束 元素。 XML 解析器将只接受这种标记;大多数 Web 浏览器中的 HTML 解析器对于两者都接受。 This is blue. This is yellow. This is blue. This is yellow. ,XML文档的基本规则,4文档只能包含一个能够包含全部其他元素的元素。

20、 XML 文档必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其它元素。前面的示例中,XML 文档包含在一个单一元素 中。,教程 科目使用Java进行XML编程/科目 作者丰伟/作者 分类WEB服务/分类 /教程,科目使用Java进行XML编程/科目 作者丰伟/作者 分类WEB服务/分类,XML文档的基本规则,5属性值必须加引号。 在 XML 中,您必须给属性赋值,而且必须把值括在引号中。 丰伟,丰伟,丰伟,丰伟,您可以使用双引号,,也可以使用单引号,但要始终保持一致。,如果属性值包含单引号或双引号,则您可以使用另一种引号来括起该值(如 name=“Dougs ca

21、r”),,或使用 代表单引号。,丰伟,XML文档的基本规则,6元素和属性的标签是大小写敏感的。 XML 元素是区分大小写的。在 HTML 中, 和 是相同的;在 XML 中,它们是不同的。如果您试图用 标记结束 元素,将会出错。, This is H1. , This is H1. , This is H1. ,验证XML,XML文件不仅是可以使人们能够轻松的阅读和编辑它们。设计它们的目的也是为了不同系统和不同应用程序间交换数据变得容易些。 假如我们是一个生产商,我们需要销售商发给我们的定单使用XML文档,我们需要它们符合特定的格式,以便于我们的定单处理系统能够自动处理它们。例如: 我们要求定

22、单的XML文档以为根元素,定单下顺序包含,三个元素。, ws301教材 10 拐角书店 , 拐角书店 ws301教材 一百 ,能够处理,不能够处理,验证XML,我们需要能够验证和确认定单的XML数据遵循特定的预定的结构从而使应用程序可以以可预知的方式来接收数据。 有两种方式可以提供数据与之相比较的这一结构: 文档类型定义(Document Type Definition),或简称 DTD。 DTD 定义可以在文档中存在的元素、那些元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序等。 XML Schema。 模式可以定义您能在DTD中使用的所有文档结构,它还可以定义数据

23、类型和比DTD更复杂的规则。,XML解析器,现在我们都知道,使用XML来存储结构数据的益处是非常明显的,那么我们如何创建一个XML文档呢?一旦将一些数据存入XML文件中,我们又如何将它们取出来呢?,?,XML解析器,首先尝试解决的方法也许是马上写一段程序,利用字符串读写,进行XML文档的创建、修改和查询的目的。如果你真的这么去做了,那么你就是白费力气了。,XML解析器,这个任务应该留给一个特殊的工具XML解析器来作,实际上,大部分计算机语言都有了XML解析器。,XML解析器,什么是解析器: 一个XML解析器是一段可以读入一个XML文档并分析其结构的代码。,解析器的主要功能,1,读入一个XML文

24、档并分析其结构,使编程人员不必处理文档的读取、切割和定位等通用的工作。 2,提供编程接口,把解析结果提供给处理XML文档的应用程序,例如一个定单处理程序。 3, XML文档如果符合基本标记规则的 XML 文档被称为格式正确文档(well-formed document)。XML 规范要求所有的解析器当其发现一个文档不是格式正确时要报错。,有效的文档和格式良好的文档,XML文档如果符合基本标记规则的 XML 文档被称为格式正确文档(well-formed document)。 XML文档如果使用一个DTD/Schema并符合DTD/Schema中的规则将被称为有效文档(valid documen

25、t)。, ws301教材 10 拐角书店 , 拐角书店 ws301教材 一百 ,格式正确,有效,格式正确,但无效,有效的文档一定是格式良好的,但是格式良好的文档不一定是有效的。,验证和非验证解析器,如果该文档有一个DTD/Schema的话,判断一个文档是否遵守DTD/Schema标准。我们把它称做验证(Validation)。 解析器分为验证解析器(Validating parser)和非验证解析器(Non-validating parser) 验证解析器(Validating parser)在解析 XML 文档同时进行验证。非验证解析器(Non-validating parser) 忽略所有

26、的验证错误。换句话说,只要一个 XML 文档的格式正确,即使该文档有一个DTD/Schema,一个非验证解析器也不关注它是否符合其对应 DTD/Schema。,解析器三,解析器一,解析器二,有许多的解析器可用,每种解析器都提供不同的编程接口。,标准的XML编程接口,我们如果使用某种解析器,就必须使用这种解析器提供的编程接口,从而使我们的应用程序依赖特定的解析器。,标准的XML编程接口,现在解析器提供的编程接口已经被标准化,这些接口为开发人员使用XML文档提供了一致的方式。解析器的提供者必须编写符合标准化了的编程接口的解析器。 最流行和广泛使用的被标准化的编程接口有二种: 文档对象模型(Document Object Model (DOM)) 用于XML的简单 API(Simple API for XML (SAX)),SAX,SAX 的全名是 Simple API for XML。SAX 是由一个名为 XML-dev 的邮件列表所发展出来的。SAX定义了解析XML文件会发生的事件,比方说:元素开始、元素结束、出现元素内容等。 SAX解析的过程是: 首先SAX 顺序读取XML文档内容,当解析器发现文档开始、元素开始或获得元素内容等情况时,解析器会向您的应用程序发送相应的事件,您的应用程序只需要处理产生的事件就可以了。,DOM,DO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论