日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

寫(xiě)給XML初學(xué)者的一些話_Xml教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:解析XML的嚴(yán)格格式
吸取HTML松散格式帶來(lái)的經(jīng)驗(yàn)教訓(xùn),XML一開(kāi)始就堅(jiān)持實(shí)行良好的格式。 我們先看HTML的一些語(yǔ)句,這些語(yǔ)句在HTML中隨處可見(jiàn): 1.<psample 2.<b<isample</b</i 3.<tdsample</TD 4.<font color=redsamplar</font 在XML文檔中,上述幾種語(yǔ)句的語(yǔ)法都是錯(cuò)

差不多每天都有人問(wèn)“什么是 XML”,“XML 能做什么”,“XML 能不能替我做這個(gè)”, “XML 會(huì)取代什么” 等等諸如此類的問(wèn)題。由于最近一段時(shí)間稍微對(duì) xml 使用了一下, 我來(lái)談?wù)勛约旱母杏X(jué)。這些經(jīng)驗(yàn)都很淺顯,任何一個(gè)用過(guò) xml 的人都有,并且見(jiàn)仁見(jiàn)智, 只不過(guò)我算剛剛走過(guò)這段路,對(duì)自己一開(kāi)始的困惑,誤解還記得清,所以拿出來(lái)和大家分享一下。

  我覺(jué)得初學(xué)者可能會(huì)走近的誤區(qū):

  1. XML 是不是 HTML 的取代者?

  不是。寫(xiě)得好的 html 應(yīng)該是一個(gè) well-formed 的 xml 文檔,其他方面最好不要把他們放在一個(gè)水平線上比較。

  2. XML 是不是數(shù)據(jù)庫(kù)的取代者?

  不是。

  3. XML 是不是...的取代者?

  都不是。

  這個(gè)結(jié)論可能聽(tīng)上去很滑稽:XML 是非常非常重要的東西,但它什么都取代不了。但這并不奇怪,有人把它比做 ASCII 標(biāo)準(zhǔn),他們是一切一切的基礎(chǔ),但并沒(méi)有(也不需要)取代什么。(但是就如同 ASCII 取代了一些沒(méi)有成大器的字符集定義,XML 也會(huì)取代你在應(yīng)用中自己定義的一些數(shù)據(jù)傳輸規(guī)范,但沒(méi)有什么特別主流的東西。)

  剛開(kāi)始學(xué) XML (或者說(shuō)沒(méi)開(kāi)始學(xué)之前)的時(shí)候最愛(ài)問(wèn)的一個(gè)問(wèn)題肯定是:使用 XML 能給我?guī)?lái)什么好處?我覺(jué)得從某種角度上說(shuō),使用 XML 有些象使用 OO 面向?qū)ο螅?/p>

  - 你可以用它,你也可以不用它。
  - 如果你的應(yīng)用非常簡(jiǎn)單,用它不一定方便,沒(méi)準(zhǔn)兒用了效果還會(huì)更差。
  - 和其他實(shí)際東西比如數(shù)據(jù)庫(kù),MTS,Web Server比起來(lái),它更像是一個(gè)概念,一種方法
  - 項(xiàng)目越大,它的發(fā)揮余地越大,作用越大。
  - 一旦真正理解后,哪怕不用 xml parser,也不妨礙你使用這個(gè)概念,如同可以拋開(kāi)特定語(yǔ)言使用 OO。
  - ......

  好像更抽象,更沒(méi)譜兒了吧。那就隨便舉個(gè)例子。比如你本來(lái)想在 bbs 應(yīng)用中的兩個(gè)模塊之間傳一些數(shù)據(jù):

  - 發(fā)言人
  - 密碼
  - 標(biāo)題
  - 內(nèi)容

  使用四個(gè)參數(shù)是不太現(xiàn)實(shí)的,因?yàn)槟汶S時(shí)可能要擴(kuò)展功能,比如再加上個(gè)

  - 表情符號(hào)

  等等

  不可能每次加個(gè)功能,就重新定義一遍函數(shù)。所以最簡(jiǎn)單的方法是把他們合并起來(lái)作為一個(gè)參數(shù)傳遞給函數(shù)。在有 xml 之前,你可能會(huì)使用分隔符:

  str = "發(fā)言人=張三;密碼=**;標(biāo)題=abc;內(nèi)容=xyz"

  到 server 那邊使用 dictionary 或 collection 或 split 等等方法把他們拆開(kāi)。

 �。ó�(dāng)然可以自己定義對(duì)象啦,結(jié)構(gòu)啦等等,但多數(shù)情況下還得是純字符串--比如另一個(gè)模塊不是自己開(kāi)發(fā)的。)

  這種傳遞字符串的方法有幾個(gè)問(wèn)題,總結(jié)成兩個(gè)最大的方面就是:

  1. 正確的解析它很麻煩。(比如標(biāo)題正好是“發(fā)言人=張三;”怎么辦)
  2. 是平面的,沒(méi)有層次型結(jié)構(gòu)

  你可以寫(xiě)些函數(shù)來(lái)解決這些問(wèn)題,比如確保里面肯定有“發(fā)言人”,“密碼”等等;

  再寫(xiě)些函數(shù)做一下字符轉(zhuǎn)義,再寫(xiě)些函數(shù)制造出層次性的效果...

  夠了!咱還是用 XML 吧。在我目前淺顯的認(rèn)識(shí)里:

  - XML 是用來(lái)傳遞數(shù)據(jù)的
  - XML 讓這些數(shù)據(jù)有了結(jié)構(gòu) -- 一個(gè)樹(shù)型結(jié)構(gòu)
  - xml 有全套的操作這種結(jié)構(gòu)的方法
  - xml 規(guī)范(或者說(shuō)的實(shí)際點(diǎn),xml parser)幫你確定你創(chuàng)建的字符串是合法的
  - xml 規(guī)范(或者說(shuō)的實(shí)際點(diǎn),xml parser)中有辦法驗(yàn)證這個(gè)合法性
  - 對(duì)于拿到這個(gè)字符串的 server component 來(lái)說(shuō),可以用 xml 中現(xiàn)成的方法來(lái)操作它,這就是 xpath, pattern,類似于 T-SQL 語(yǔ)句。(但記住 xml 是樹(shù)型結(jié)構(gòu)的)
  - XSLT 使用 xpath 對(duì) xml 進(jìn)行轉(zhuǎn)換(類似于 DTS),其中一種特例是把 XML 轉(zhuǎn)換成 HTML 輸出。

 

分享:WML入門(mén)基本情況概述
用于WAP的標(biāo)記語(yǔ)言就是WML(Wireless Markup Language)。 WML的語(yǔ)法跟XML一樣,WML是XML的子集。 HTML、XML和WML的文件有很多相似之處,這樣網(wǎng)頁(yè)開(kāi)發(fā)者在過(guò)去10年中所學(xué)的東西今天依然適用。 WML頁(yè)面文件的后綴是 *.WML,就象HTML的 *.HTML后綴。 XML規(guī)定定

來(lái)源:模板無(wú)憂//所屬分類:Xml教程/更新時(shí)間:2010-04-13
相關(guān)Xml教程