XML:是什么?怎样工作的?可以做什么?将来的发展有会怎样?

1、是什么:

      XML是一种可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

2、怎样工作的 :   

      XML的特点主要包括四个方面:              

         a、 可扩展性(Extensibility)——XML 允许使用者创建和使用他们自己的标记而不是 HTML 的有限词汇表。   

         b、 灵活性(Flexibility)——XML 提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,Web 用户所追求的许多先进功能在XML环境下更容易实现。                    

         c、 自描述性(Self-describing)——不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。   

         d、简洁性(Simplicity)——它只有 SGML 约 20% 的复杂性,但却具有 SGML 约 80% 的功能。XML 比完整的 SGML 简单得多,易学、易用并且易实现。

           

      XML的工作原理:包括服务器端解析与客户端解析。

         服务器端解析是通过XSLT转换工具(如Xalan)将XML和XSL合成为HTML,送到客户端。客户端解析是把XML和XSL都显现给客户端,把解析的任务交给浏览器

 3、可以做什么:

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

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

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

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

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

         e、其他一些文档的XML格式。如WORD、EXCEL等。

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

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

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

                         (上面的能做什么转至:http://blog.csdn.net/cds27/article/details/743409)

                          我个人的理解可以把XML看成一个微型的数据库

4、发展前景:

               主要应用到下面几个方面:        

                  a、网络服务领域

                  b、EDI(electronic data interchange)

                  c、电子商务领域

                  d、数据库领域

                  e、Agent(智能体)

                  f、软件设计元素的交换(现在json有逐渐取代的趋势)

原文地址:https://www.cnblogs.com/WeVv/p/8607799.html