为什么用XML

xml 的特点:
自描性
可扩展性
内容与显示分离
本地计算
数据视图
数据集成

XML 指可扩展标记语言

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

什么是 XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
  • XML 是一种标记语言,很类似 HTML
  • XML 的设计宗旨是传输数据,而非显示数据
  • XML 标签没有被预定义。您需要自行定义标签
  • XML 被设计为具有自我描述性
  • XML 是 W3C 的推荐标准

没有任何行为的 XML

XML 是不作为的。

也许这有点难以理解,但是 XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。

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

<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

上面的这条便签具有自我描述性。它拥有标题以及留言,同时包含了发送者和接受者的信息。

但是,这个 XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

XML 仅仅是纯文本

XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。

不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。

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

上例中的标签没有在任何 XML 标准中定义过(比如 <to> 和 <from>)。这些标签是由文档的创作者发明的。

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

在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p> 、<h1> 等等)。

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

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 来交换数据吧。

未来也许会出现某种字处理软件、电子表格程序以及数据库,它们可以使用纯文本格式读取彼此的数据,而不需要使用任何的转换程序。

我们现在能做的只有祈祷微软公司和所有其他的软件开发商在这一方面取得一致了。

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

轻量级的数据储存文件
1)XML文档的内容和结构完全分离
这个特性为XML的应用带来了很大的好处。基于这样的特点,企业系统可以轻松地实现内容管理和流程管理的彻底分离,例如系统架构师可以只关注流程运转中各环节的接口定义,而各部门则可以专注在内容发布和维护之上。
举例来说,微软公司的产品Biztalk正是利用了XML内容和结构分离的特点来实现内容和流程定义的分离。另外一个广泛的应用是XSL技术,由于XML文件的内容和结构分离,XSL才可以在不影响内容的情况下改变XML文件结构。
2)互操作性强
大多数纯文本的文件格式都具有这个优点。纯文本文件可以方便地穿越防火墙,在不同操作系统上的不同系统之间通信。而作为纯文本文件格式,XML同样具有这个优点。
3)规范统一
XML具有统一的标准语法,任何系统和产品所支持的XML文档,都具有统一的格式和语法。这样就使得XML具有了跨平台跨系统的特性。作为对比,同样作为文本语言,JavaScript的标准就远没有XML这样统一,以至于经常出现同一静态页面在不同的浏览器中产生不同的结果,而脚本程序员往往需要在程序的入口处费力地判断客户端所支持的脚本版本。
4)支持多种编码
相对于普通文本文档而言,XML文档本身包含了所使用编码的记录,这方便了多语言系统对数据的处理。
5)可扩展性
XML是一种可扩展的语言,可以根据XML的基本语法来进一步限定使用范围和文档格式,从而定义一种新的语言。例如:MathML(数学标记语言)、CML(化学标记语言)和TecML(技术数据标记语言),每种语言都用于其特定的环境。

使用XML的一些场合
1、数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。
相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。

source: http://blog.163.com/yurong_1987@126/blog/static/47517863200861514417618/

XML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。

上面这段是对XML的一个基本定义,一个被广泛接受的说明。简单说,XML就是一种数据的描述语言,虽然它是语言,但是通常情况下,它并不具备常见语言的基本功能——被计算机识别并运行。只有依靠另一种语言,来解释它,使它达到你想要的效果或被计算机所接受。

假如你是刚接触XML的新手,那么可能并无法从定义上是了解XML是什么。也许,你可以换个角度来认识XML是什么;从应用面来认识XML,从XML可以做些什么来认识它,这应该能比那更空洞的定义对你更有帮助。

XML应用面主要分为两种类型,文档型和数据型。下面介绍一下几种常见的XML应用:

1、自定义XML+XSLT=>HTML,最常见的文档型应用之一。XML存放整个文档的XML数据,然后XSLT将XML转换、解析,结合XSLT中的HTML标签,最终成为HTML,显示在浏览器上。典型的例子就是CSDN上的帖子。

2、XML作为微型数据库,这是最常见的数据型应用之一。我们利用相关的XML API(MSXML DOM、JAVA DOM等)对XML进行存取和查询。留言板的实现中,就经常可以看到用XML作为数据库。同时,这里要告诉一些新人,数据库和数据库系统,这两个概念是不同的。这里顺便提一下XML对数据库系统的影响。在新版本的传统数据库系统中,XML成为了一种数据类型。和“传统”相对的就是一种新形态的数据库,完全以XML相关技术为基础的数据库系统。目前比较知名的eXist。

3、作为信息传递的载体。为什么说是载体呢?因为这些应用虽然还是以XML为基本形态,但是都已经发展出具有特定意义的格式形态。最典型的就是WEB SERVICE,将数据包装成XML来传递,但是这里的XML已经有了特定的规格,即SOAP。不过这里还不得不说AJAX,AJAX的应用中,相信也有一部分的应用是以自定义XML为数据,不过没有成为工业标准,这里不做详述。

4、应用程序的配置信息数据。最典型的就是J2EE配置WEB服务器时用的web.XML。这个应用估计是很容易理解的了。我们只要将需要的数据存入XML,然后在我们的应用程序运行载入,根据不同的数据,做相应的操作。这里其实和应用2,有点类似,所不同的在于,数据库中的数据变化是个常态,而配置信息往往是较为静态,缺少变化的。

5、其他一些文档的XML格式。如WORDEXCEL等。

6、保存数据间的映射关系。如Hibernate。

这几种常见应用中,我们还可以根据其应用广泛程度,分为:自定义XML和特定意义XML。在1和2就是属于自定义XML的范畴;3至6则属于特定意义XML,或者说是XML的延伸。

这里介绍的6种应用,基本涵盖了XML的主要用途。总之,XML是一种抽象的语言,它不如传统的程序语言那么具体。要深入的认识它,应该先从它的应用入手,选择一种你需要的用途,然后再学习如何使用。

web应用(不谈)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值