麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > XML > 正文

給XML初學者建議

2024-09-05 20:53:54
字體:
來源:轉載
供稿:網友
 差不多每天都有人問“什么是 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,web server比起來,它更像是一個概念,一種方法
  - 項目越大,它的發揮余地越大,作用越大。
  - 一旦真正理解后,哪怕不用 xml parser,也不妨礙你使用這個概念,如同可以拋開特定語言使用 oo。
  - ......
  好像更抽象,更沒譜兒了吧。
  那就隨便舉個例子。比如你本來想在 bbs 應用中的兩個模塊之間傳一些數據:
  - 發言人
  - 密碼
  - 標題
  - 內容
  使用四個參數是不太現實的,因為你隨時可能要擴展功能,比如再加上個
  - 表情符號
  等等
  不可能每次加個功能,就重新定義一遍函數。
  所以最簡單的方法是把他們合并起來作為一個參數傳遞給函數。
  在有 xml 之前,你可能會使用分隔符:
  str = "發言人=張三;密碼=**;標題=abc;內容=xyz"
  到 server 那邊使用 dictionary 或 collection 或 split 等等方法把他們拆開。
  (當然可以自己定義對象啦,結構啦等等,但多數情況下還得是純字符串--比如另一個模塊不是自己開發的。)
  這種傳遞字符串的方法有幾個問題,總結成兩個最大的方面就是:
  1. 正確的解析它很麻煩。(比如標題正好是“發言人=張三;”怎么辦)
  2. 是平面的,沒有層次型結構
  你可以寫些函數來解決這些問題,比如確保里面肯定有“發言人”,“密碼”等等;
  再寫些函數做一下字符轉義,再寫些函數制造出層次性的效果...
  夠了!咱還是用 xml 吧。在我目前淺顯的認識里:
  - xml 是用來傳遞數據的
  - xml 讓這些數據有了結構 -- 一個樹型結構
  - xml 有全套的操作這種結構的方法
  - xml 規范(或者說的實際點,xml parser)幫你確定你創建的字符串是合法的
  - xml 規范(或者說的實際點,xml parser)中有辦法驗證這個合法性
  - 對于拿到這個字符串的 server component 來說,可以用 xml 中現成的方法來操作它,這就是 xpath, pattern,類似于 t-sql 語句。(但記住 xml 是樹型結構的)
  - xslt 使用 xpath 對 xml 進行轉換(類似于 dts),其中一種特例是把 xml 轉換成 html 輸出。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天天干天天碰 | 91情侣在线偷精品国产 | 欧美亚洲一区二区三区四区 | 久久综合久久综合久久综合 | 日韩专区在线 | 欧美一级黄 | 日韩欧美电影一区二区三区 | 欧美 国产 综合 | 污黄视频在线观看 | 日本欧美一区二区三区在线播 | 91 免费视频 | 麻豆自拍偷拍视频 | 国产成人免费高清激情视频 | 精品一区二区三区四区在线 | 中国hd高清xxxxvideo | 在线a| 国产日韩在线观看一区 | 3xxx| 91成人久久 | 一区二区三区在线播放视频 | 天天草天天干天天射 | 成年人激情在线 | 欧美日韩一 | 91成人免费网站 | 欧美一级aa免费毛片 | 国产一级不卡毛片 | 精品久久久久久国产三级 | 久久精品国产清自在天天线 | 91专区在线观看 | 国产精品成人亚洲一区二区 | 在线成人免费视频 | 国产精品视频不卡 | 激情影院在线观看 | 久久久久久久.comav | 欧美不卡在线 | 香蕉视频99 | 九九热免费视频在线观看 | 91av国产在线 | jizzjizz中国少妇中文 | 免费在线观看毛片视频 | 在线观看免费av网 |