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

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

在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。早在1998年,W3C就发布了XML1.0规范,使用它来简化Internet的文档信息传输。

可扩展标记语言与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,可扩展标记语言仅仅是存储数据。事实上它与其他数据表现形式最大的不同是:可扩展标记语言极其简单,这是一个看上去有点琐细的优点,但正是这点使它与众不同。

XML的简单易于在任何应用程序中读/写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS、Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。

XML与HTML区别编辑

(1)可扩展性方面:HTML不允许用户自行定义他们自己的标识或属性,而在XML中,用户能够根据需要自行定义新的标识及属性名,以便更好地从语义上修饰数据。

(2)结构性方面:HTML不支持深层的结构描述,XML的文件结构嵌套可以复杂到任意程度,能表示面向对象的等级层次。

(3)可校验性方面:HTML没有提供规范文件以支持应用软件对HTML文件进行结构校验,而XML文件可以包括一个语法描述,使应用程序可以对此文件进行结构校验

XML 仅仅是纯文本

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

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

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

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

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

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

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

XML 不是对 HTML 的替代

XML 是对 HTML 的补充。

XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。

对 XML 最好的描述是:

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

XML 是 W3C 的推荐标准

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

如需有关 W3C XML 活动的更多信息,请访问我们的 W3C 教程。

XML 无所不在

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

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

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

内容参考,百度文库和w3school

最新文章

  1. linux指令(一)文件的操作
  2. 一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
  3. 78. Android之 RxJava 详解
  4. Nginx使用Expires增加浏览器缓存加速(转)
  5. js:数据结构笔记9--二叉树
  6. xenserver+starwind架构布署
  7. 十天学会单片机Day1点亮数码管(数码管、外部中断、定时器中断)
  8. Java对象的序列化(Object Serialization)
  9. Jsp(3):内置对象和四种域对象的理解
  10. CDN架构以及原理分析
  11. [BZOJ2879] [Noi2012] 美食节 (费用流 &amp; 动态加边)
  12. 探究c# lock
  13. mysql 零碎笔记
  14. jquery发起get/post请求_或_获取html页面数据
  15. 三维计算机视觉 —— 中层次视觉 —— RCNN Family
  16. Golang &amp; GitLab-CI 详细实例步骤
  17. 新手必看ES6基础
  18. Docker镜像加速==》阿里云加速器
  19. tornado-简单的服务器
  20. mysql 5.7 json 字段类型查找、修改

热门文章

  1. 【mysql】用navicat无法连接mysql时解决方法
  2. Android 添加键值并上报从驱动到上层
  3. Java第三十五天,用JDBC操作MySQL数据库(一),基础入门
  4. 在IDEA导入maven项目
  5. python3(二十) module
  6. 创建 SysV 风格的 linux daemon 程序
  7. Simple Chat Application for Python
  8. Daily Scrum 12/9/2015
  9. C - Sweets Eating
  10. python基础--str.split