成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

給XML初學者

開發
差不多每天都有人問“什么是XML”,“XML能做什么”,“XML能不能替我做這個”,“XML會取代什么”等等諸如此類的問題。由于最近一段時間稍微對xml使用了一下,我來談談自己的感覺。這些經驗都很淺顯,任何一個用過xml的人都有,并且見仁見智,只不過我算剛剛走過這段路,對自己一開始的困惑,誤解還記得清,所以拿出來和大家分享一下。

  我覺得XML初學者可能會走近的誤區:

  1.XML是不是HTML的取代者

  不是。寫得好的html應該是一個well-formed的xml文檔,其他方面最好不要把他們放在一個水平線上比較

  2.XML是不是數據庫的取代者

  不是。

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

  都不是。

  這個結論可能聽上去很滑稽:XML是非常非常重要的東西,但它什么都取代不了。但這并不奇怪,有人把它比做ASCII標準,他們是一切一切的基礎,但并沒有(也不需要)取代什么。(但是就如同ASCII取代了一些沒有成大器的字符集定義,XML也會取代你在應用中自己定義的一些數據傳輸規范,但沒有什么特別主流的東西。)

  剛開始學XML(或者說沒開始學之前)的時候最愛問的一個問題肯定是:使用XML能給我帶來什么好處?

  我覺得從某種角度上說,使用XML有些象使用OO面向對象:

  你可以用它,你也可以不用它。如果你的應用非常簡單,用它不一定方便,沒準兒用了效果還會更差。和其他實際東西比如數據庫,MTS,WebServer比起來,它更像是一個概念,一種方法。項目越大,它的發揮余地越大,作用越大。一旦真正理解后,哪怕不用xmlparser,也不妨礙你使用這個概念,如同可以拋開特定語言使用OO。

  好像更抽象,更沒譜兒了吧。

  那就隨便舉個例子。比如你本來想在bbs應用中的兩個模塊之間傳一些數據:發言人、密碼、標題、內容。使用四個參數是不太現實的,因為你隨時可能要擴展功能,比如再加上個表情符號等等。不可能每次加個功能,就重新定義一遍函數。所以最簡單的方法是把他們合并起來作為一個參數傳遞給函數。在有xml之前,你可能會使用分隔符:str="發言人=張三;密碼=**;標題=abc;內容=xyz"。到server那邊使用dictionary或collection或split等等方法把他們拆開。(當然可以自己定義對象啦,結構啦等等,但多數情況下還得是純字符串--比如另一個模塊不是自己開發的。)

  這種傳遞字符串的方法有幾個問題,總結成兩個最大的方面就是:

  1.正確的解析它很麻煩。(比如標題正好是“發言人=張三;”怎么辦)

  2.是平面的,沒有層次型結構

  你可以寫些函數來解決這些問題,比如確保里面肯定有“發言人”,“密碼”等等;再寫些函數做一下字符轉義,再寫些函數制造出層次性的效果。夠了!咱還是用XML吧。

  在我目前淺顯的認識里:XML是用來傳遞數據的;XML讓這些數據有了結構--一個樹型結構;xml有全套的操作這種結構的方法;xml規范(或者說的實際點,xmlparser)幫你確定你創建的字符串是合法的;xml規范(或者說的實際點,xmlparser)中有辦法驗證這個合法性;對于拿到這個字符串的servercomponent來說,可以用xml中現成的方法來操作它。

  這就是xpath,pattern,類似于T-SQL語句(但記住xml是樹型結構的)。XSLT使用xpath對xml進行轉換(類似于DTS),其中一種特例是把XML轉換成HTML輸出。

【編輯推薦】

  1. XML編程與應用教程
  2. XML入門之十一問答
  3. XML的四個神話:XML屬于世界
  4. XML在使用中產生的二十個熱點問題
  5. XML結構與語法入門詳解
責任編輯:韓亞珊 來源: 軟件開發網
相關推薦

2011-07-05 13:59:23

XML

2011-07-04 14:14:54

java

2016-11-18 17:40:35

2018-04-08 14:47:06

Linux命令type

2018-04-24 11:09:13

LinuxShellfc

2018-05-14 08:53:51

Linux命令shuf

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2016-11-11 20:33:53

Hadoop大數據云計算

2009-02-18 11:10:40

c++忠告方法

2011-04-08 15:07:40

C++

2013-12-12 10:20:00

JavaScript學習

2022-06-15 15:30:29

Linux新用戶建議

2009-06-23 13:32:48

JavaScript初竅門

2021-05-10 08:50:32

網絡管理網絡網絡性能

2009-11-18 09:30:43

2023-07-28 07:31:52

JavaScriptasyncawait

2022-03-28 09:52:42

JavaScript語言

2011-05-18 11:01:39

Oracle

2023-07-03 15:05:07

預測分析大數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩成人免费视频 | 97国产爽爽爽久久久 | 亚洲欧美日韩网站 | 欧美综合一区二区三区 | 精品久久国产老人久久综合 | 国产99久久精品一区二区永久免费 | 亚洲成av| 国产精品一区二区三区久久 | 亚洲精品国产a久久久久久 午夜影院网站 | 欧美性网站 | 日韩在线欧美 | 亚洲免费精品 | 欧美日韩亚| 日本羞羞影院 | 国产精品视频在线免费观看 | 区一区二在线观看 | 国产一区二区久久 | 毛片免费在线观看 | 日日淫| 日韩欧美国产一区二区三区 | 亚洲精品在线免费观看视频 | 午夜爱爱网 | 亚洲视频在线播放 | 欧美一区视频 | 精品国产一级片 | 日本三级在线视频 | 亚洲精品在 | 国产精品亚洲一区二区三区在线 | 日日夜夜天天干 | 一区二区在线 | 一区二区三区在线免费观看 | 97av视频| 成人免费看片 | 夜夜操操操 | 亚洲精品电影网在线观看 | 91美女在线 | 美女露尿口视频 | 在线黄 | 午夜精品一区二区三区三上悠亚 | 91av入口| 日日操天天射 |