XML是一种可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
以下我将从几个方面带你了解XML:
(1)XML的作用:
1、丰富文件(Rich Documents)-自定文件描述并使其更丰富; 2、属于文件为主的XML技术应用;
3、标记是用来定义一块数据应该如何呈现;
4、解释数据(Metadata)-描述其它文件或在线信息;
5、属于数据为主的XML技术应用;
6、标记是用来说明一块资料的意义;
7、组态档案(Configuration Files)-描述软件的组态参数。
(2)XML的文档结构:
每个XML文档都由XML序言开始,在前面的代码中的第一行便是XML序言。这一行代码会告诉解析器和浏览器,这个文件应该按照前面讨论过的XML规则进行解析。第二行代码则是文档元素(documentelement),它是文件中最外面的标签是起始标签和结束标签之间的内容)。所有其他的标签必须包含在这个标签之内来组成一个有效的XML文件。XML文件的第二行并不一定要包含文档元素;如果有注释或者其他内容,文档元素可以迟些出现。 页面再往下的一些地方,可以发现标签里有一些特殊的语法。虽然很像XML序言,但实际上是一种称为处理指令(processinginstruction)的不同类型的语法。处理指令(以下简称PI)的目的是为了给处理页面的程序(例如XML解析器)提供额外的信息。PI通常情况下是没有固定格式的,唯一的要求是紧随第一个问号必须至少有一个字母。在此之后,PI可以包含除了小于号和大于号之外的任何字符串序列。
(3)XML的优点:
1.能使用预先定义标记。
2.定义数据的层次。
3.筛选我们只想得到的那部分数据。
4.真正做到国际化。
5.真正实现数据交互
6.可重用。
2014-05-18
2014-05-18
总的来说XML的应用可分为四类:
一、应用于客户需要与不同的数据源进行交互时。数据可能来自不同的数据库,他们都有各自不同的复杂格式。但客户与这些数据库间只通过一种标准语言进行交互,那就是XML。由于XML的自定义性及可扩展性,它足以表达各种类型的数据。客户收到数据后可以进行处理,也可以在不同数据库间进行传递。总之,在这类应用中,XML解决了数据的统一接口问题。但是,与其他的数据传递标准不同的是,XML并没有定义数据文件中数据出现的具体规范,而是在数据中附加Tag来表达数据的逻辑结构和含义。这使XML成为一种程序能自动理解的规范。
二、应用于将大量运算负荷分布在客户端,即客户可根据自己的需求选择和制作不同的应用程序以处理数据,而服务器只须发出同一个XML文件。仍以上例为论,如按传统的“客户/服务器”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的编程人员可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用XML则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确的将数据封装进XML文件中,正是各取所需、各司其职。XML的自解释性使客户端在收到数据的同时也理解数据据的逻辑结构与含义,从而使广泛、通用的分布式计算成为可能。
三、应用于将同一数据以不同的面貌展现给不同的用户。这一应用也可在上例中体现出来。它又类似于同一个剧本,我们却可以用电视剧、电影、话剧、动画片等不同形式表现出来。这一应用将会为网络用户界面个性化、风格化的发展铺平道路。
四、应用于网络代理对所取得的信息进行编辑、增减以适应个人用户的需要。有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组成试卷,再将试卷封装进XML文件,接下来便是最精彩部分,在各个学校让其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外,文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需几个小程序,同一个XML文件便可变成多个文件传送到不同的用户手中。综合以上四种不同类型的应用,我们可以总结出,XML其实源自一种“数据归其主,用户尽其欢”的哲学。具体说来便是数据制作者并不考虑日后这些数据具体会有哪些用途,只是尽量全面地考虑今后有可能会被用到的信息,并将其完整、规范的制作成XML文件,服务商则不会被拘禁于特定的脚本语言,制作工具及传输引擎的囚笼内,而是提供一种标准化、可独立销售、有级别操作的领域,在那里不同的制作及传输工具将各显神通,一决雌雄,从而极大限度的满足客户的需求,成为用户信得过的服务商。
2014-05-18