XML定義:
用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。
XML發(fā)展史?
簡(jiǎn)單提一下Markup Language歷史:
1969:GML(Generalized Markup Language)--(IBMResearch)
1968: SGML(Standard Generalized Markup Language)--(ISO)
1989:HTML(Hypertext Markup Language)--TimBerners Lee
作為SGML的一個(gè)實(shí)例,它的DTD(一種規(guī)則)作為標(biāo)準(zhǔn)被固定下來(lái),因此Html不能定義其他符號(hào)化語(yǔ)言的源語(yǔ)言。而XML就可以哦,所以就出現(xiàn)了XML。
1998/2:XML(Extensible markup Language)
W3C(World WideWeb Consortium)
SGML的子集
XML(定義數(shù)據(jù)和元數(shù)據(jù)),XSL(style sheet 描述,就像CSS于html)
SGMLvsXMLvs HTML:
SGML:長(zhǎng)時(shí)間存放電子文件。
使用費(fèi)用高,大都在MainFrame平臺(tái)。
XML:網(wǎng)頁(yè)文件語(yǔ)言、數(shù)據(jù)交換語(yǔ)言、數(shù)據(jù)處理語(yǔ)言、文件整合語(yǔ)言。
應(yīng)用范圍幾乎沒有限制。
HTML:網(wǎng)頁(yè)呈現(xiàn)語(yǔ)言、超文本語(yǔ)言。
XML包括:
文件內(nèi)容:
結(jié)構(gòu)定義:DTD(Document TypeDefinitied)
XMLSchema(DTD+Datatype)
顯示:XSL
XSLT+XHTML+Xpath+(Xlink)
從html到XML:
比較:
HTML:
html只能提供數(shù)據(jù)顯示功能。
瀏覽器提供單一語(yǔ)言機(jī)制。
網(wǎng)頁(yè)搜索不精確。
擴(kuò)充困難。
網(wǎng)頁(yè)邏輯關(guān)系,網(wǎng)頁(yè)分級(jí)認(rèn)證不易建立。
web資源受限制,無(wú)法讓其他應(yīng)用使用。
XML:
開放平臺(tái)。
可以做任何程序的輸入數(shù)據(jù)。
XML改變了瀏覽器內(nèi)部的結(jié)構(gòu)。
XML具體應(yīng)用:
XML的一個(gè)最主要的應(yīng)用就是作為系統(tǒng)的配置文件,很多系統(tǒng)的配置文件都是用XML,Spring中application中XML,Hibernate中XML,在這里主要說(shuō)說(shuō)ASP.NET中的XML。
1、配置文件中。
世間所有的相遇都是久別的重逢,我們?cè)o(wú)數(shù)次的與XML擦肩而過(guò),機(jī)房收費(fèi)系統(tǒng)的配置文件,新聞發(fā)布系統(tǒng)的配置文件,以及我們建立每一個(gè)應(yīng)用程序下的配置文件,配置文件的后綴名為.config,而我們的XML文件為.xml后綴,為什么vs中沒有直接用Web.xml而是用的Web.config?我想可能是微軟想把一個(gè)東西封裝成知己的,就像箱子里是同樣的蘋果,我想變成我的,我就要弄好一個(gè)包裝,并且貼上我的標(biāo)簽,告訴別人,這是我特有的。但事實(shí)上呢,網(wǎng)上有這樣的回答:
config是配置,.xml是軟件內(nèi)置的網(wǎng)頁(yè)文件。
表象:
前者:
用在web.config或者app.config之類.
appSettings>是系統(tǒng)約定的節(jié)點(diǎn),約定在這個(gè)節(jié)點(diǎn)下的所有add />節(jié)點(diǎn)會(huì)被System.Configuration.ConfigurationManager.AppSetting讀到.
后者:
完全的自定義接點(diǎn),appSettings表示什么意思,add表示什么意思將在自己寫的xml解析方法里指定和使用.
簡(jiǎn)單來(lái)說(shuō):
簡(jiǎn)單來(lái)說(shuō),config是xml的一個(gè)子集。
通常的xml都是只定義基本語(yǔ)法,至于節(jié)點(diǎn)的層次,節(jié)點(diǎn)格式,節(jié)點(diǎn)的含義,節(jié)點(diǎn)怎么被解析都是你自己定義.使得你的xml文件能和你的xml解析方法對(duì)應(yīng)。
而web.config,app.config這類,是Microsoft和軟件作者已經(jīng)定義好了節(jié)點(diǎn)意義,你只需要遵守他的格式和規(guī)則,就能達(dá)到配置作用。
通俗講:
打個(gè)可能不太好的比方:
xml文件本身是撲克牌.
config是斗地主。
你用config,就不需要自己制定規(guī)則,按照它的規(guī)則打就行。很方便,但是你不能違反他的規(guī)則。
而你自己寫xml,還要先制定好規(guī)則,規(guī)則怎么定都隨便你,然后按照這個(gè)規(guī)則出牌.
當(dāng)然,這些都有一個(gè)大前提,都滿足xml節(jié)點(diǎn)規(guī)范,你不能制定撲克牌的規(guī)則中放入幾個(gè)麻將牌....
2、ASP.NET控件與XML。
在學(xué)習(xí)ASP.NET的視頻的時(shí)候,用到很多控件,例如LIstBox,DropDownList常用控件,DataList,GridView等數(shù)據(jù)控件,ADO.NETDataSet操作XML文件,以及前兩篇博客提到的導(dǎo)航控件menu和treeview在進(jìn)行數(shù)據(jù)源綁定的時(shí)候都可以綁定XML文件。
本文全面的初識(shí)了XML,讓大家從各個(gè)方面了解到了XML的定義、XML的發(fā)展史、和html的比較等一些知識(shí),希望對(duì)大家的學(xué)習(xí)有所幫助。
您可能感興趣的文章:- ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)
- LINQ to XML的編程基礎(chǔ)
- PHP中開發(fā)XML應(yīng)用程序之基礎(chǔ)篇 添加節(jié)點(diǎn) 刪除節(jié)點(diǎn) 查詢節(jié)點(diǎn) 查詢節(jié)
- 服務(wù)器XMLHTTP(Server XMLHTTP in ASP)基礎(chǔ)知識(shí)
- android開發(fā)基礎(chǔ)教程—三種方式實(shí)現(xiàn)xml文件解析
- C# XML與Json之間相互轉(zhuǎn)換實(shí)例詳解
- jQuery處理xml格式的返回?cái)?shù)據(jù)(實(shí)例解析)
- DOM基礎(chǔ)及php讀取xml內(nèi)容操作的方法
- C#簡(jiǎn)單寫入xml文件的方法
- C#寫入對(duì)象或集合類型數(shù)據(jù)到xml文件的方法
- C#實(shí)現(xiàn)的XML操作類實(shí)例
- asp控制xml數(shù)據(jù)庫(kù)的經(jīng)典代碼
- ASP開發(fā)基于XML的留言板