XML入门经典教程.docx

上传人:b****1 文档编号:10288539 上传时间:2023-05-24 格式:DOCX 页数:72 大小:49.60KB
下载 相关 举报
XML入门经典教程.docx_第1页
第1页 / 共72页
XML入门经典教程.docx_第2页
第2页 / 共72页
XML入门经典教程.docx_第3页
第3页 / 共72页
XML入门经典教程.docx_第4页
第4页 / 共72页
XML入门经典教程.docx_第5页
第5页 / 共72页
XML入门经典教程.docx_第6页
第6页 / 共72页
XML入门经典教程.docx_第7页
第7页 / 共72页
XML入门经典教程.docx_第8页
第8页 / 共72页
XML入门经典教程.docx_第9页
第9页 / 共72页
XML入门经典教程.docx_第10页
第10页 / 共72页
XML入门经典教程.docx_第11页
第11页 / 共72页
XML入门经典教程.docx_第12页
第12页 / 共72页
XML入门经典教程.docx_第13页
第13页 / 共72页
XML入门经典教程.docx_第14页
第14页 / 共72页
XML入门经典教程.docx_第15页
第15页 / 共72页
XML入门经典教程.docx_第16页
第16页 / 共72页
XML入门经典教程.docx_第17页
第17页 / 共72页
XML入门经典教程.docx_第18页
第18页 / 共72页
XML入门经典教程.docx_第19页
第19页 / 共72页
XML入门经典教程.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

XML入门经典教程.docx

《XML入门经典教程.docx》由会员分享,可在线阅读,更多相关《XML入门经典教程.docx(72页珍藏版)》请在冰点文库上搜索。

XML入门经典教程.docx

XML入门经典教程

XML入门经典教程

目录

XML基础

XML简介

什么是XML,以及它与HTML的区别。

如何使用XML

不同的XML使用方式。

XML树结构

XML文档如何形成一种有逻辑的树结构。

XML语法

有逻辑且非常简单的XML语法规则。

XML元素

XML元素、内容和命名规则、父与子元素之间的关系。

XML属性

如何使用XML属性提供关于元素的额外信息。

XML验证

形式良好的文档与合法文档之间的差异,以及如何规定XML文档的结构。

XML验证器

简单的XML在线语法检查工具。

XML浏览器支持

大部分常用的浏览器对XML的支持

在浏览器中查看XML

如何通过您的浏览器来查看XML文件。

使用CSS来显示XML

如何使用CSS来显示一个XML文件。

使用XSL来显示XML

如何使用XSL来显示一个XML文件。

XMLJavaScript

XML解析器

如何使用浏览器来读取、更新、创建并操作XML文档。

XMLDOM

关于XML文档对象模型(DOM)。

XMLtoHTML

如何在HTML文档中显示XML数据。

XMLHttpRequest对象

如何在不重新加载页面的情况下,使用来自服务器的数据对页面进行更新。

XML应用程序

如何使用XML数据和JavaScript来创建复杂的HTML应用程序。

XML高级

XML命名空间

如何使用XML命名空间避免元素命名冲突。

XMLCDATA

如何告知XML解析器不去解析文本。

XML编码

如何在您的XML文档使用不同的字符集。

XML服务器

如何从服务器端输出XML。

XMLDOM高级

更多关于XML文档对象模型的知识。

XMLDon't

本节讲解在在使用XML时尽量避免使用的技术。

把数据存储到XML文件

通常地,我们在数据库中存储数据。

不过,假如我们希望数据更加易用,那么可以将数据存储于XML文件之中。

XML技术

与XML相关的最常用的技术。

现实生活中的XML

在现实世界中XML如何被使用的例子。

XML编辑器

当编辑XML文档时,为什么要使用XML编辑器。

XML总结

本文包括在本教程所学内容的一个总结,以及我们向你推荐的下一步应该学习的内容。

XML实例/测验

XML实例

非常多的XML实例!

XML测验

在W3School测试你的XML技能!

01、XML简介

XML被设计用来传输和存储数据。

HTML被设计用来显示数据。

应该掌握的基础知识:

在您继续学习之前,需要对以下知识有基本的了解:

∙HTML/XHTML

∙JavaScript

如果您希望首先学习这些项目,请在我们的首页访问这些教程。

什么是XML?

∙XML指可扩展标记语言(EXtensibleMarkupLanguage)

∙XML是一种标记语言,很类似HTML

∙XML的设计宗旨是传输数据,而非显示数据

∙XML标签没有被预定义。

您需要自行定义标签。

∙XML被设计为具有自我描述性。

∙XML是W3C的推荐标准

XML与HTML的主要差异

XML不是HTML的替代。

XML和HTML为不同的目的而设计:

XML被设计为传输和存储数据,其焦点是数据的内容。

HTML被设计用来显示数据,其焦点是数据的外观。

HTML旨在显示信息,而XML旨在传输信息。

XML是不作为的(没有任何行为的XML)

也许这有点难以理解,但是XML不会做任何事情。

XML被设计用来结构化、存储以及传输信息。

下面是John写给George的便签,存储为XML:

George

John

Reminder

Don'tforgetthemeeting!

这个标签有标题以及留言。

它也包含了发送者和接受者的信息。

但是,这个XML文档仍然没有做任何事情。

它仅仅是包装在XML标签中的纯粹的信息。

我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

XML仅仅是纯文本

XML没什么特别的。

它仅仅是纯文本而已。

有能力处理纯文本的软件都可以处理XML。

不过,能够读懂XML的应用程序可以有针对性地处理XML的标签。

标签的功能性意义依赖于应用程序的特性。

通过XML您可以发明自己的标签

上例中的标签没有在任何XML标准中定义过(比如)。

这些标签是由文档的创作者发明的。

这是因为XML没有预定义的标签。

在HTML中使用的标签(以及HTML的结构)是预定义的。

HTML文档只使用在HTML标准中定义过的标签(比如

等等)。

XML允许创作者定义自己的标签和自己的文档结构。

XML不是对HTML的替代

XML是对HTML的补充。

XML不是对HTML的替代,理解这一点很重要。

在大多数web应用程序中,XML用于传输数据,而HTML用于格式化并显示数据。

对XML的最好的描述是:

XML是独立于软件和硬件的信息传输工具。

XML是W3C的推荐标准

可扩展标记语言(XML)于1998年2月10日成为W3C的推荐标准。

XML无所不在

当我们看到XML标准突飞猛进的开发进度,以及大批的软件开发商采用这个标准的日新月异的速度时,真的是不禁感叹这真是令人叹为观止。

目前,XML在Web中起到的作用不会亚于一直作为Web基石的HTML。

XML无所不在。

XML是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。

02、XML的用途

XML应用于web开发的许多方面,常用于简化数据的存储和共享。

XML把数据从HTML分离

如果你需要在HTML文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑HTML。

通过XML,数据能够存储在独立的XML文件中。

这样你就可以专注于使用HTML进行布局和显示,并确保修改底层数据不再需要对HTML进行任何的改变。

通过使用几行JavaScript,你就可以读取一个外部XML文件,然后更新HTML中的数据内容。

您将在稍后的章节学习更多这方面的内容。

XML简化数据共享

在真实的世界中,计算机系统和数据使用不兼容的格式来存储数据。

XML数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法。

这让创建不同应用程序可以共享的数据变得更加容易。

XML简化数据传输

通过XML,可以在不兼容的系统之间轻松地交换数据。

对开发人员来说,其中一项最费时的挑战一直是在因特网上的不兼容系统之间交换数据。

由于可以通过各种不兼容的应用程序来读取数据,以XML交换数据降低了这种复杂性。

XML简化平台的变更

升级到新的系统(硬件或软件平台),总是非常费时的。

必须转换大量的数据,不兼容的数据经常会丢失。

XML数据以文本格式存储。

这使得XML在不损失数据的情况下,更容易扩展或升级到新的操作系统、新应用程序或新的浏览器。

XML使您的数据更有用

由于XML独立于硬件、软件以及应用程序,XML使您的数据更可用,也更有用。

不同的应用程序都能够访问您的数据,不仅仅在HTML页中,也可以从XML数据源中进行访问。

通过XML,您的数据可供各种阅读设备使用(手持的计算机、语音设备、新闻阅读器等),还可以供盲人或其他残障人士使用。

XML用于创建新的Internet语言

很多新的Internet语言是通过XML创建的:

其中的例子包括:

∙XHTML-最新的HTML版本

∙WSDL-用于描述可用的webservice

∙WAP和WML-用于手持设备的标记语言

∙RSS-用于RSSfeed的语言

∙RDF和OWL-用于描述资源和本体

∙SMIL-用于描述针针对web的多媒体

 

03、XML树结构

XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。

一个XML文档实例

XML使用了简单的具有自我描述性的语法:

xmlversion="1.0"encoding="ISO-8859-1"?

>

George

John

Reminder

Don'tforgetthemeeting!

第一行是XML声明。

它定义XML的版本(1.0)和所使用的编码(ISO-8859-1=Latin-1/西欧字符集)。

下一行描述文档的根元素(像在说:

“本文档是一个便签”):

接下来4行描述根的4个子元素(to,from,heading以及body):

George

John

Reminder

Don'tforgetthemeeting!

最后一行定义根元素的结尾:

从本例可以设想,该XML文档包含了John给George的一张便签。

XML具有出色的自我描述性,你同意吗?

XML文档形成一种树结构

XML文档必须包含根元素。

该元素是所有其他元素的父元素

XML文档中的元素形成了一棵文档树。

这棵树从根部开始,并扩展到树的最底端。

所有元素均可拥有子元素:

.....

父、子以及同胞等术语用于描述元素之间的关系。

父元素拥有子元素。

相同层级上的子元素成为同胞(兄弟或姐妹)。

所有元素均可拥有文本内容和属性(类似HTML中)。

实例

上图表示下面的XML中的一本书:

EverydayItalian

GiadaDeLaurentiis

2005

30.00

HarryPotter

JK.Rowling

2005

29.99

LearningXML

ErikT.Ray

2003

39.95

例子中的根元素是

文档中的所有元素都被包含在中。

元素有4个子元素:

、<author>、<year>、<price>。</p><p> </p><p>04、XML语法规则</p><p>∙PreviousPage</p><p>∙NextPage</p><p>XML的语法规则很简单,且很有逻辑。</p><p>这些规则很容易学习,也很容易使用。</p><p>所有XML元素都须有关闭标签</p><p>在HTML,经常会看到没有关闭标签的元素:</p><p><p>Thisisaparagraph</p><p><p>Thisisanotherparagraph</p><p>在XML中,省略关闭标签是非法的。</p><p>所有元素都必须有关闭标签:</p><p><p>Thisisaparagraph</p></p><p><p>Thisisanotherparagraph</p></p><p>注释:</p><p>您也许已经注意到XML声明没有关闭标签。</p><p>这不是错误。</p><p>声明不属于XML本身的组成部分。</p><p>它不是XML元素,也不需要关闭标签。</p><p>XML标签对大小写敏感</p><p>XML元素使用XML标签进行定义。</p><p>XML标签对大小写敏感。</p><p>在XML中,标签<Letter>与标签<letter>是不同的。</p><p>必须使用相同的大小写来编写打开标签和关闭标签:</p><p><Message>这是错误的。</p><p></message></p><p><message>这是正确的。</p><p></message></p><p>注释:</p><p>打开标签和关闭标签通常被称为开始标签和结束标签。</p><p>不论您喜欢哪种术语,它们的概念都是相同的。</p><p>XML必须正确地嵌套</p><p>在HTML中,常会看到没有正确嵌套的元素:</p><p><b><i>Thistextisboldanditalic</b></i></p><p>在XML中,所有元素都必须彼此正确地嵌套:</p><p><b><i>Thistextisboldanditalic</i></b></p><p>在上例中,正确嵌套的意思是:</p><p>由于<i>元素是在<b>元素内打开的,那么它必须在<b>元素内关闭。</p><p>XML文档必须有根元素</p><p>XML文档必须有一个元素是所有其他元素的父元素。</p><p>该元素称为根元素。</p><p><root></p><p><child></p><p><subchild>.....</subchild></p><p></child></p><p></root></p><p>XML的属性值须加引号</p><p>与HTML类似,XML也可拥有属性(名称/值的对)。</p><p>在XML中,XML的属性值须加引号。</p><p>请研究下面的两个XML文档。</p><p>第一个是错误的,第二个是正确的:</p><p><notedate=08/08/2008></p><p><to>George</to></p><p><from>John</from></p><p></note></p><p><notedate="08/08/2008"></p><p><to>George</to></p><p><from>John</from></p><p></note></p><p>在第一个文档中的错误是,note元素中的date属性没有加引号。</p><p>实体引用(<>’”&)</p><p>在XML中,一些字符拥有特殊的意义。</p><p>如果你把字符"<"放在XML元素中,会发生错误,这是因为解析器会把它当作新元素的开始。</p><p>这样会产生XML错误:</p><p><message>ifsalary<1000then</message></p><p>为了避免这个错误,请用一个实体引用来代替"<"字符:</p><p><message>ifsalary<1000then</message></p><p>在XML中,有5个预定义的实体引用:</p><p><</p><p><</p><p>小于</p><p>></p><p>></p><p>大于</p><p>&</p><p>&</p><p>和号</p><p>'</p><p>'</p><p>单引号</p><p>"</p><p>"</p><p>引号</p><p>注释:</p><p>在XML中,只有字符"<"和"&"确实是非法的。</p><p>大于号是合法的,但是用实体引用来代替它是一个好习惯。</p><p>XML中的注释</p><p>在XML中编写注释的语法与HTML的语法很相似:</p><p><!</p><p>--Thisisacomment--></p><p>XML中的空格会被保留</p><p>HTML会把多个连续的空格字符裁减为一个:</p><p>HTML:</p><p>HellomynameisDavid.</p><p>输出:</p><p>HellomynameisDavid.</p><p>在XML中,文档中的空格不会被删节。</p><p>XML以LF存储换行</p><p>在Windows应用程序中,换行通常以一对字符来存储:</p><p>回车符(CR)和换行符(LF)。</p><p>这对字符与打字机设置新行的动作有相似之处。</p><p>在Unix应用程序中,新行以LF字符存储。</p><p>而Macintosh应用程序使用CR来存储新行。</p><p> </p><p>05、XML元素</p><p>∙PreviousPage</p><p>∙NextPage</p><p>XML文档包含XML元素。</p><p>什么是XML元素?</p><p>XML元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。</p><p>元素可包含其他元素、文本或者两者的混合物。</p><p>元素也可以拥有属性。</p><p><bookstore></p><p><bookcategory="CHILDREN"></p><p><title>HarryPotter

JK.Rowling

2005

29.99

LearningXML

ErikT.Ray

2003

39.95

在上例中,都拥有元素内容,因为它们包含了其他元素。

只有文本内容,因为它仅包含文本。

在上例中,只有元素拥有属性(category="CHILDREN")。

XML命名规则

XML元素必须遵循以下命名规则:

∙名称可以含字母、数字以及其他的字符

∙名称不能以数字或者标点符号开始

∙名称不能以字符“xml”(或者XML、Xml)开始

∙名称不能包含空格

可使用任何名称,没有保留的字词。

最佳命名习惯

使名称具有描述性。

使用下划线的名称也很不错。

名称应当比较简短,比如:

,而不是:

避免"-"字符。

如果您按照这样的方式进行命名:

"first-name",一些软件会认为你需要提取第一个单词。

避免"."字符。

如果您按照这样的方式进行命名:

"first.name",一些软件会认为"name"是对象"first"的属性。

避免":

"字符。

冒号会被转换为命名空间来使用(稍后介绍)。

XML文档经常有一个对应的数据库,其中的字段会对应XML文档中的元素。

有一个实用的经验,即使用数据库的名称规则来命名XML文档中的元素。

非英语的字母比如éòá也是合法的XML元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题。

XML元素是可扩展的(增加新元素)

XML元素是可扩展,以携带更多的信息。

请看下面这个XML例子:

George

John

Don'tforgetthemeeting!

让我们设想一下,我们创建了一个应用程序,可将以及元素提取出来,并产生以下的输出:

MESSAGE

To:

George

From:

John

Don'tforgetthemeeting!

想象一下,之后这个XML文档作者又向这个文档添加了一些额外的信息:

2008-08-08

George

John

Reminder

Don'tforgetthemeeting!

那么这个应用程序会中断或崩溃吗?

不会。

这个应用程序仍然可以找到XML文档中的以及元素,并产生同样的输出。

XML的优势之一,就是可以经常在不中断应用程序的情况进行扩展。

 

06、XML属性

∙PreviousPage

∙NextPage

XML元素可以在开始标签中包含属性,类似HTML。

XML属性(Attribute)提供关于元素的额外信息

XML属性

从HTML,你会回忆起这个:

"src"属性提供有关元素的额外信息。

在HTML中(以及在XML中),属性提供有关元素的额外信息:

属性通常提供不属于数据组成部分的信息。

在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:

computer.gif

XML属性必须加引号(单/双引号,如果属性值本身包含双引号,那么使用实体引用,或者可以使用单引号包围它)

属性值必须被引号包围,不过单引号和双引号均可使用。

比如一个人的性别,person标签可以这样写:

或者这样也可以:

注释:

如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:

或者可以使用实体引用:

XML元素vs.属性

请看这些例子:

Anna

Smith

female

Anna

Smith

在第一个例子中,sex是一个属性。

在第二个例子中,sex则是一个子元素。

两个例子均可提供相同的信息。

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素。

我的经验是在HTML中,属性用起来很便利,但是在XML中,您应该尽量避免使用属性。

如果信息感觉起来很像数据,那么请使用子元素吧。

我最喜欢的方式

下面的三个XML文档包含完全相同的信息:

第一个例子中使用了date属性:

George

John

Reminder

Don'tforgetthemeeting!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2