XML与HTML
一、什么是HTML
带着疑问走到这里,一句话:HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。 如果想了解更多请看以下博客:
http://blog.csdn.net/liu_yujie2011com/article/details/18656125
二、什么是XML
XML 即ExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tagset),也没有语 法规则(grammatical rule),但 是它有句法规则(syntax rule)。任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得 含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。XML文档可以是有效的(valid),但并非一定要求有效。所谓有效文档是指其符合其文档 类型定义(DTD)的文档。如果一个文档符合一个模式(schema)的规定,那么这个文档是模式有效的(schema valid)。
三、HTML与XML的区别
通过以上对HTML及XML的了解,我们来看看他们之间到底存在着什么区别与联系
xml和html都是用于操作数据或数据结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别。综合网上的各种资料总结如下。
(一)、语法要求不同:
1. 在html中不区分大小写,在xml中严格区分。
2. 在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。
3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。
4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。
5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。
6. 在XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。
(二)、标记不同:
1、html使用固有的标记;而xml没有固有的标记。
2、Html标签是预定义的;XML标签是免费的、自定义的、可扩展的。
(三)、作用不同:
1. html是用来显示数据的;xml是用来描述数据、存放数据的,所以可以作为持久化的介质!Html将数据和显示结合在一起,在页面中把这数据显示出来;xml
则将数据和显示分开。 XML被设计用来描述数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。
2. xml不是HTML的替代品,xml和html是两种不同用途的语言。 XML 不是要替换 HTML;实际上XML 可以视作对 HTML 的补充。XML 和HTML 的目标不同HTML 的设计目标是显示数据并集中于数据外观,而XML的设计目标是描述数据并集中于数据的内容。
3. 没有任何行为的XML。与HTML 相似,XML 不进行任何操作。(共同点)
4. 对于XML最好的形容可能是: XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。
5. XML未来将会无所不在。XML将成为最普遍的数据处理和数据传输的工具。
什么是XML?
- XML 指可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
什么是HTML
- HTML 即Hyper Text Markup Language(超文本标记语言)
- HTML 的设计宗旨是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体。
- HTML 标签被事先预定义好了。不同的标签代表不同的意思。
HTML与XML之间的相同点
HTML与XM都是标记语言,都是基于文本编辑和修改的。
XML 与 HTML 的主要差异
目标 :HTML的设计目标是显示数据,焦点是数据外观,而XML的设计目标是描述数据,焦点是数据的内容,它的显示形式靠CSS或XSL帮完成。
语法:HTML的标记不是所有的都需要成对出现,XML则要求所有的标记必须成对出现;HTML标记不区分大小写,XML则大小敏感,即区分大小写。
更新:XML允许粒度更新,不必在XML文档每次有局部改变时都发送整个文档的内容,只有改变的元素才必须从服务器发送到客户机,而HTML却不支持这样的功能(了解数据库后可粒度的意思,不懂得就不用理解这句话)
标签的定义:XML的标记由架构或文档的作者定义,并且是无限制的。HTML的标记则是预定义的;HTML 作者只能使用当前 HTML 标准所支持的标记。
XML的优势
1.XML文档的内容和结构完全分离。(基于这样的特点,企业系统可以轻松地实现内容管理和流程(结构)管理的彻底分离,例如系统架构师可以只关注流程运转中各环节的接口定义,而各部门则可以专注在内容发布和维护之上。)
2.互操作性强。(因为xml文件是纯文本文件,而纯文本文件可以方便地穿越防火墙,在不同操作系统上的不同系统之间通信。)
3.规范统一。(不论任何系统和产品所支持的XML文档,它们都具有统一的格式和语法。这样不论任何操作系统,软件程序都能使用xml文件,无需考虑不同的平台之间的差异去改动xml文件)
4.支持多种编码。(XML文档本身包含了所使用编码的记录,这方便了多语言系统对数据的处理。)
5.可扩展性。(XML是一种可扩展的语言,可以根据XML的基本语法来进一步限定使用范围和文档格式,从而自己定义一种新的语言)
XML的用途
1.数据交换。 (XML使用元素和属性来描述数据,在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。)
2.Web服务。(Web服务器用XML在系统之间交换数据,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。)
3.数据管理。(XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。)
XML与HTML的更多相关文章
- XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法
在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...
- .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- XML技术之DOM4J解析器
由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...
- UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)
最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...
- PHP中遍历XML之SimpleXML
简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Mybatis XML配置
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...
- Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...
- C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”
Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...
随机推荐
- vmware :Ubuntu 12.04添加新硬盘
http://blog.csdn.net/hanpengyu/article/details/7475645 一.VMware新增磁盘的设置步骤 (建议:在设置虚拟的时候,不要运行虚拟机的系统,不然添 ...
- linux 静态库文件
1.生成目标文件 gcc -o mylib.o -c mylib.c 2.生成静态库文件 ar rcs libmylib.a mylib.o 查看库信息: nm libmylib.a //====== ...
- UDP丢包问题
1. 问题描述 PC-A向PC-B发送UDP packet(共16K bytes),如果B机木有及时Read,UDP包将大量丢失. 2. 原因及解决 因为B木有及时接收,socket缓冲区放不下了. ...
- 读取Apache访问日志,查看每一个独立客户端连接获得的字节数
ubuntu中apache2的日志文件位于: /var/log/apache2 代码: # coding=utf-8 import sys ''' 数据 127.0.0.1 - - [10/Jan/2 ...
- JavaScript之图片操作4
本次要实现的效果是,在一个盒子里面有一张长图,只显示了一部分,为方便用户浏览,当鼠标移入时,图片开始滚动,将盒子分成上下两部分,当鼠标移入上部分时,图片向上滚动,当鼠标移入下部分时,图片向下滚动. 为 ...
- poj 3069 Saruman's Army(贪心)
Saruman's Army Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Tot ...
- [原]DataGridView 回车不换行代码 AND 编辑时的字符控制
// 让 dataGridView1 在遇到回车时不响应 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { ...
- @echo 与 echo的区别
@echo运行时 隐藏命令(不在terminal上显示) echo运行时显示命令(在terminal上显示) 同理@cp 与 cp 复制命令 不显示/显示
- 模型融合策略voting、averaging、stacking
原文:https://zhuanlan.zhihu.com/p/25836678 1.voting 对于分类问题,采用多个基础模型,采用投票策略选择投票最多的为最终的分类. 2.averaging 对 ...
- pandas的merge函数
pandas.merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index= ...