初识XML基础知识
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的比较等一些知识,希望对大家的学习有所帮助。