【引言】

前一阵子刚刚学习了html(HyperText Markup Language),最近又接触了xml(Extensible Markup Language),它们之间有什么联系和区别呢?现在咱们就来重新认识一下。

【什么是html?】

html被称为超文本标记语言, 是一种描述性语言,用html 可以创建能在互联网上传输的信息页,是构成网页文档的主要语言,它是由很多的标签组成,具有简易性、与平台无关性两大要点。

html就是描述网页长什么样子、有什么内容的一个文本。我们通常所见得各种各样的网页,是经过浏览器解析html 文件出现的结果。

在浏览器的网页上右击→选择“查看源文件”或“查看页面源代码”,出现的就是html文件,此处以火狐浏览器为例:

了解更多html 信息,请转到:http://blog.csdn.net/zt15732625878/article/details/53364703

【什么是xml ?】

xml 即可扩展标记语言,是Internet环境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具,满足了Web内容发布与交换的需要,适合作为各种存储与共享的通用平台。

使用xml 标记语言可以做到数据或数据结构在任何编程语言环境下的共享。例如我们在某个计算机平台上用某种编程语言编写了一些数据或数据结构,然后用xml标记语言进行处理,那样的话,其他人就可以在其他的计算机平台上来访问这些数据或数据结构,甚至可以用其他的编程语言来操作这些数据或数据结构了。这就是xml标记语言作为一种数据交换语言存在的价值。

xml可以理解为一辆没有发动机的车。xml把所有部件按照一定规则集合在一起,就等编译器这个发动机去启动这个车。现在用的比较多的是配置和数据结构定义。

【html和xml的相同点】

html和xml 都是标记语言,都是基于文本编辑和修改的。

都是用于操作系统或数据结构,结构上大致相同。

都可以通过DOM  变成方式来访问。

都可以通过CSS来改变外观。

【html和xml的不同点】

比较内容 html xml
设计目标 显示数据,如何更好地显示数据,焦点是数据外观 描述数据,什么是数据,如何存放数据,焦点是数据的内容
语法 不要求标记的嵌套、配对等;
不区分大小写
引号是可用可不用的;
可以拥有不带值的属性名;
过滤掉空格;
严格要求嵌套、配对,并遵循DTD的树形结构;
区分大小写;
属性值必须分装在引号中;
所有的属性都必须带有相应的值;
空白部分不会被解析器自动删除;
xml比html 语法要求更严格
数据和显示的关系 内容描述与显示方式整合为一体 内容描述与显示方式分离
标签 预定义 免费、自定义、可扩展
可读性及可维护性 难于阅读、维护 结构清晰、便于阅读、维护
结构描述 不支持深层的结构描述 文件结构嵌套可以复杂到任何程度
与数据库的关系 没有直接联系 与关系型和层状数据库均可对应和转换
超链接 单文件、书签链接 可以定义双向链接、多目标链接、扩展链接

【xml的优势】

  • xml文档的内容和结构完全分离

在xml文档中,数据的显示样式已从文档中分离出来,而被放入相关的样式表文件中。这样一来,如果要改动数据的表现形式,就不需要改动数据本身,只要改动控制数据显示的样式表文件就可以了。xml能够确保同一网络站点的数据信息能够在不同的设备上成功显示。

  • 轻松地跨平台应用

xml文档是基于文本的,所以很容易被人和机器阅读,也非常容易使用,纯文本文件可以方便地穿越防火墙,便于不同设备和不同系统间的信息交换。

  • 支持不同文字、不同语种间的信息交互

xml所以来的Unicode标准,是一个支持世界上所有主要语言的混合文字符号编码系统,xml技术不但使得各种信息能在不同的计算机系统之间交互,还能跨语种、跨文化进行交流。

  • 便于信息的检索

由于xml通过给数据内容贴上标记来描述其含义,并且把数据的显示格式分离出去,所以对xml文档数据的搜索就可以简单高效地进行。在此情况下,搜索引擎没有必要再去遍历整个文档,只需查找制定标记的内容就可以了。

  • 可扩展性

xml 允许各个组织或个人简历适合他们自己需要的标记集合或标记库,并且这些标记集合可以快速地投入到互联网的使用中。比较典型的有化学标记语言CML、数据标记语言MathML、矢量图形标记语言VML、无线通信标记语言WML等。

  • 适合面向对象的程序开发

xml文档是非常容易阅读的,对机器也是如此。xml文档数据的逻辑结构是一种树形的层次结构,文档中的每一个元素都可以映射为一个对象,同时也可以有相应的属性和方法,因而非常适合使用面向对象的程序设计方式来开发处理这些xml文档的应用程序。

【小结】

xml不是要来取代html的,是对html的补充,用来与html协同工作的语言,基于上面这些优势,xml将来成为所有的数据处理和数据传输的常用工具非常可观。

--------------------- 本文来自 大白快跑8 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zt15732625878/article/details/54629596?utm_source=copy

html 与 xml 的区别与联系的更多相关文章

  1. iOS - 分析JSON、XML的区别和解析方式的底层是如何实现的(延伸实现原理)

    <分析JSON.XML的区别,JSON.XML解析方式的底层是如何实现的(延伸实现原理)> (一)JSON与XML的区别: (1)可读性方面:基本相同,XML的可读性比较好: (2)可扩展 ...

  2. android 中theme.xml与style.xml的区别

    from://http://liangoogle.iteye.com/blog/1848448 android 中theme.xml与style.xml的区别: 相同点: 两者的定义相同. <r ...

  3. JSON与XML的区别比较(转)

    原文链接:JSON与XML的区别比较 1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以 ...

  4. application/xml 和 text/xml的区别

    application/xml and text/xml的区别 经常看到有关xml时提到"application/xml" 和 "text/xml"两种类型, ...

  5. HTML && xml 的区别

    HTML && xml 的区别 HTML 超文本标记语言 xml 可扩展标记语言 jsp  表面是一个HTML页面,本质是一个servlet HTML  超文本标记语言 HTML 是一 ...

  6. html和xml的区别

    一.HTML HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言. 二.XML XML即ExtentsibleMarkup Language(可扩展标记语 ...

  7. JSON与XML的区别比较

    1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许 ...

  8. spring注解和xml方式区别详解

    一.spring常规方式. 在使用注释配置之前,先来回顾一下传统上是如何配置 Bean 并完成 Bean 之间依赖关系的建立.下面是 3 个类,它们分别是 Office.Car 和 Boss,这 3 ...

  9. JSON与XML的区别

    1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许 ...

  10. [转]JSON与XML的区别比较

    1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许 ...

随机推荐

  1. [LeetCode] 95. 不同的二叉搜索树 II ☆☆☆(递归,n个数组成的所有二叉搜索树)

    https://leetcode-cn.com/problems/unique-binary-search-trees-ii/solution/xiang-xi-tong-su-de-si-lu-fe ...

  2. IDEA配置maven报错解决方案

    主要是得分清楚你的本地maven库,以及maven安装根目录 ,一般你自己安装maven成功后,电脑默认读取的库位置在C盘下面. 只要把路径指向搞对了,就没什么问题了 .

  3. SQLSEVER 同台服务器下不同表 触发器实现数据实时同步

    触发器的使用: 1.首先建立两个相同结构的表,两个表明的列的名称不同. student_01   字段  name  ;  字段 age  ; 字段  class ; student_02   字段  ...

  4. 基于Keras实现mnist-官方例子理解

    前言 久闻keras大名,最近正好实训,借着这个机会好好学一下. 首先推荐一个API,可能稍微有点旧,但是写的是真的好 https://keras-cn.readthedocs.io/en/lates ...

  5. WebApi增加Oauth2认证

    前期搭建可看这篇博文:https://www.cnblogs.com/lnice/p/6857203.html,此博文是在本篇博文实践才产生的,在实践中,也产生了几个问题,希望能够共同交流,一起进步. ...

  6. Aure Event Hubs小白完全入门指南

    refer to https://www.cnblogs.com/mysunnytime/p/11634815.html?from=groupmessage&isappinstalled=0 ...

  7. linux网络编程之socket编程(五)

    今天继续学习socket网络编程,最近北京阴雨连绵,降温明显,感觉是要立马转入冬季的节奏,天冷晚上得注意多盖点被子哦,言归正传,进入正题: 对于之前写的回射客户/服务器端的程序中,我们是用的read和 ...

  8. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

  9. 分享一个快的飞起的maven的settings.xml文件

    <?xml version="1.0"?> <settings> <localRepository>/home/yizhen/.m2/repos ...

  10. 金蝶二次开发C#

    1 建立C#类库项目 2 引用EBOS组建Kingdee.K3.BOS.PlugInModel 3 示例代码 usingSystem; usingSystem.Collections.Generic; ...