【引言】

前一阵子刚刚学习了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. 分享一个仿网易新闻客户端iPhone版的标签式导航ViewController

    该Controller是一个容器,用于容纳其他的controller.效果与网易新闻客户端的标签式导航基本一样: (1)点击上面的标签,可以切换到对应的controller,标签下面的红色提示条的长度 ...

  2. 【robotframework】robotframework基本使用

    一.创建项目 1.创建测试项目 选择菜单栏 file----->new Project Name 输入项目名称:Type 选择 Directory. 2.创建测试套件 右键点击“测试项目”选择 ...

  3. Python函数Day5

    一.内置函数 globals()    将全部的全局变量以字典的形式返回 locals()      将当前作用域的所有变量以字典的形式返回 a = 1 b = 2 def func(x): c = ...

  4. 运行 jcontrol 报 libXext.so.6: cannot open shared object file 错误

    需要安装额外库: yum install libXext.x86_64 yum install libXrender.x86_64 yum install libXtst.x86_64

  5. Sublime Text 解决 Unable to download XXX 问题

    Sublime Text 安装插件报错: Package Control Unable to download XXX. Please view the console for more detail ...

  6. 使用Atmel Studio编程Arduino Uno开发板

    使用Atmel Studio 7编程Arduino Uno开发板非常简单.Arduino Uno开发板是使用AVR微控制器的嵌入式应用开发的著名平台之一. 大多数人通常会使用Arduino自己的软件工 ...

  7. SQLSERVER视图错位的解决办法

    原始需求如下: 有一个表T1 create table t1 (id int not null primary key ,v1 ) ) ,'aaa'); ,'bbb'); 有一个表TS,用于记录T1中 ...

  8. P1967 货车运输[生成树+LCA]

    题目描述 A国有n座城市,编号从 1到n,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q* 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重 ...

  9. 6 webpack-dev-server配置命令的第2种方式

    // 导入webpack模块,这是启用热更新的第2步 const webpack=require('webpack') devServer:{ // 这是配置dev-server命令参数的第二种形式, ...

  10. 应用程序域 System.AppDomain,动态加载程序集

    一.概述 使用.NET建立的可执行程序 *.exe,并没有直接承载到进程当中,而是承载到应用程序域(AppDomain)当中.在一个进程中可以包含多个应用程序域,一个应用程序域可以装载一个可执行程序( ...