XML定义:
用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML发展史?
简单提一下Markup Language历史:
1969:GML(Generalized Markup Language)--(IBMResearch)
1968:SGML(Standard Generalized Markup Language)--(ISO)
1989:HTML(Hypertext Markup Language)--TimBerners Lee
作为SGML的一个实例,它的DTD(一种规则)作为标准被固定下来,因此Html不能定义其他符号化语言的源语言。而XML就可以哦,所以就出现了XML。
1998/2:XML(Extensible markup Language)
W3C(World WideWeb Consortium)
SGML的子集
XML(定义数据和元数据),XSL(style sheet描述,就像CSS于html)
SGMLvsXMLvs HTML:
SGML:长时间存放电子文件。
使用费用高,大都在MainFrame平台。
XML:网页文件语言、数据交换语言、数据处理语言、文件整合语言。
应用范围几乎没有限制。
HTML:网页呈现语言、超文本语言。
XML包括:
文件内容:
结构定义:DTD(Document TypeDefinitied)
XMLSchema(DTD+Datatype)
显示:XSL
XSLT+XHTML+Xpath+(Xlink)
从html到XML:
比较:
HTML:
html只能提供数据显示功能。
浏览器提供单一语言机制。
网页搜索不精确。
扩充困难。
网页逻辑关系,网页分级认证不易建立。
web资源受限制,无法让其他应用使用。
XML:
开放平台。
可以做任何程序的输入数据。
XML改变了浏览器内部的结构。
XML具体应用:
XML的一个最主要的应用就是作为系统的配置文件,很多系统的配置文件都是用XML,Spring中application中XML,Hibernate中XML,在这里主要说说ASP.NET中的XML。
1、配置文件中。
世间所有的相遇都是久别的重逢,我们曾建无数次的与XML擦肩而过,机房收费系统的配置文件,新闻发布系统的配置文件,以及我们建立每一个应用程序下的配置文件,配置文件的后缀名为.config,而我们的XML文件为.xml后缀,为什么vs中没有直接用Web.xml而是用的Web.config?我想可能是微软想把一个东西封装成知己的,就像箱子里是同样的苹果,我想变成我的,我就要弄好一个包装,并且贴上我的标签,告诉别人,这是我特有的。但事实上呢,网上有这样的回答:
config是配置,.xml是软件内置的网页文件。
表象:
前者:
用在web.config或者app.config之类.
<appSettings>是系统约定的节点,约定在这个节点下的所有<add />节点会被System.Configuration.ConfigurationManager.AppSetting读到.
后者:
完全的自定义接点,appSettings表示什么意思,add表示什么意思将在自己写的xml解析方法里指定和使用.
简单来说:
简单来说,config是xml的一个子集。
通常的xml都是只定义基本语法,至于节点的层次,节点格式,节点的含义,节点怎么被解析都是你自己定义.使得你的xml文件能和你的xml解析方法对应。
而web.config,app.config这类,是Microsoft和软件作者已经定义好了节点意义,你只需要遵守他的格式和规则,就能达到配置作用。
通俗讲:
打个可能不太好的比方:
xml文件本身是扑克牌.
config是斗地主。
你用config,就不需要自己制定规则,按照它的规则打就行。很方便,但是你不能违反他的规则。
而你自己写xml,还要先制定好规则,规则怎么定都随便你,然后按照这个规则出牌.
当然,这些都有一个大前提,都满足xml节点规范,你不能制定扑克牌的规则中放入几个麻将牌....
2、ASP.NET控件与XML。
在学习ASP.NET的视频的时候,用到很多控件,例如LIstBox,DropDownList常用控件,DataList,GridView等数据控件,ADO.NETDataSet操作XML文件,以及前两篇博客提到的导航控件menu和treeview在进行数据源绑定的时候都可以绑定XML文件。
本文全面的初识了XML,让大家从各个方面了解到了XML的定义、XML的发展史、和html的比较等一些知识,希望对大家的学习有所帮助。