html与xml的区别与联系
【引⾔】
前⼀阵⼦刚刚学习了html(HyperText Markup Language),最近⼜接触了xml(Extensible Markup Language),它们之间有什么联系和区别呢?现在咱们就来重新认识⼀下。
【什么是html?】
html被称为超⽂本标记语⾔,是⼀种描述性语⾔,⽤html 可以创建能在互联⽹上传输的信息页,是构成⽹页⽂档的主要语⾔,它是由很多的标签组成,具有简易性、与平台⽆关性两⼤要点。
html就是描述⽹页长什么样⼦、有什么内容的⼀个⽂本。我们通常所见得各种各样的⽹页,是经过浏览器解析html ⽂件出现的结果。
在浏览器的⽹页上右击→选择“查看源⽂件”或“查看页⾯源代码”,出现的就是html⽂件,此处以⽕狐浏览器为例:
【什么是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⽂档数据的搜索就可以简单⾼效地进⾏。在此情况下,搜索引擎没有必要再去遍历整个⽂档,只需查制定标记的内容就可以了。
可扩展性
文本文档变成html网页
xml 允许各个组织或个⼈简历适合他们⾃⼰需要的标记集合或标记库,并且这些标记集合可以快速地投⼊到互联⽹的使⽤中。⽐较典型的有化学标记语⾔CML、数据标记语⾔MathML、⽮量图形标记语⾔VML、⽆线通信标记语⾔WML等。
适合⾯向对象的程序开发
xml⽂档是⾮常容易阅读的,对机器也是如此。xml⽂档数据的逻辑结构是⼀种树形的层次结构,⽂档中的每⼀个元素都可以映射为⼀个对象,同时也可以有相应的属性和⽅法,因⽽⾮常适合使⽤⾯向对象的程序设计⽅式来开发处理这些xml⽂档的应⽤程序。
【⼩结】
xml不是要来取代html的,是对html的补充,⽤来与html协同⼯作的语⾔,基于上⾯这些优势,xml将来成为所有的数据处理和数据传输的常⽤⼯具⾮常可观。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。