寫給XML初學者的一些話_Xml教程

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

      推薦:解析XML的嚴格格式
      吸取HTML松散格式帶來的經驗教訓,XML一開始就堅持實行良好的格式。 我們先看HTML的一些語句,這些語句在HTML中隨處可見: 1.<psample 2.<b<isample</b</i 3.<tdsample</TD 4.<font color=redsamplar</font 在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,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 輸出。

       

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

      來源:模板無憂//所屬分類:Xml教程/更新時間:2010-04-13
      相關Xml教程