第一章 XML快速入門

          Posted on 2008-08-12 22:47 viita 閱讀(229) 評論(0)  編輯  收藏 所屬分類: XML輕松學習手冊
          前言
            XML越來越熱,關于XML的基礎教程網絡上也隨處可見。可是一大堆的概念和術語往往讓人望而生畏,很多朋友問我:XML到底有什么用,我們是否需要學習它?我想就我個人學習過程的心得和經驗,寫一篇比較全面的介紹文章。首先有兩點是需要肯定的:
            第一:XML肯定是未來的發展趨勢,不論是網頁設計師還是網絡程序員,都應該及時學習和了解,等待只會讓你失去機會;
            第二:新知識肯定會有很多新概念,嘗試理解和接受,您才可能提高。不要害怕和逃避,畢竟我們還年輕。
            提綱
            本文共分五大部分。分別是XML快速入門,XML的概念,XML的術語,XML的實現,XML的實例分析。最后附錄介紹了XML的相關資源。作者站在普通網頁設計人員的角度,用平實生動的語言,向您講述XML的方方面面,幫助你撥開XML的神秘面紗,快速步入XML的新領域。
            第一章:XML快速入門
            一. 什么是XML?
            二. XML是新概念嗎?
            三. 使用XML有什么好處?
            四. XML很難學嗎?
            五. XML和HTML的區別
            六. XML的嚴格格式
            七. 關于XML的更多

            一. 什么是XML?

            這往往是第一個問題,也往往在第一個問題上你就會搞不明白,因為大多的教材上這樣回答:
            XML是Extensible Markup Language的簡寫,一種擴展性標識語言。
            這是標準的定義。那么什么是標志語言,為什么叫擴展性?已經讓人有些糊涂。我想我們這樣來理解會好一些:
            對HTML你已經非常熟悉了吧,它就是一種標記語言,記得它的全稱嗎:"Hypertext Markup Language" 超文本標記語言。明白了?同時,HTML里面有很多標簽,類似<head>,<table>等,都是在HTML 4.0里規范和定義,而XML里允許你自己創建這樣的標簽,所以叫做可擴展性。
            這里有幾個容易混淆的概念要提醒大家:
            1.XML并不是標記語言。它只是用來創造標記語言(比如HTML)的元語言。天,又糊涂了!不要緊,你只要知道這一點:XML和HTML是不一樣的,它的用途比HTML廣泛得多,我們將在后面仔細介紹。
            2.XML并不是HTML的替代產品。XML不是HTML的升級,它只是HTML的補充,為HTML擴展更多功能。我們仍將在較長的一段時間里繼續使用HTML。(但值得注意的是HTML的升級版本XHTML的確正在向適應XML靠攏。)
            3.不能用XML來直接寫網頁。即便是包含了XML數據,依然要轉換成HTML格式才能在瀏覽器上顯示。
            下面就是一段XML示例文檔(例1),用來表示本文的信息:
            <?xml version="1.0"?>
            <myfile>
            <title>XML Quick Start</title>
            <author>ajie</author>
            <email>ajie@aolhoo.com</email>
            <date>20010115</date>
            </myfile>
            注意:
            1.這段代碼僅僅是代碼,讓你初步感性認識一下XML,并不能實現什么具體應用;
            2.其中類似<title>,<author>的語句就是自己創建的標記(tags),它們和HTML標記不一樣,例如這里的<title>是文章標題的意思,HTML里的<title>是頁面標題。

            二. XML是新概念嗎?

            不是。XML來源于SGML,一種比HTML更早的標志語言標準。
            關于SGML,我們來簡單了解一下,你只需要有個大致概念就可以。
            SGML全稱是"Standard Generalized Markup Language"(通用標識語言標準)。看名稱就知道:它是標志語言的標準,也就是說所有標志語言都是依照SGML制定的,當然包括HTML。SGML的覆蓋面很廣,凡是有一定格式的文件都屬于SGML,比如報告,樂譜等等,HTML是SGML在網絡上最常見的文件格式。因此,人們戲稱SGML是HTML的"媽媽"。
            而XML就是SGML的簡化版,只不過省略了其中復雜和不常用的部分。(哦,明白了!是HTML第二個"mother",難怪比HTML功能強大呢。),和SGML一樣,XML也可以應用在金融,科研等各個領域,我們這里講的,只是XML在web方面的運用而已。
            到這里,你應該有點明白了:XML是用來創建定義類似HTML的標記語言,然后再用這個標記語言來顯示信息。

            三. 使用XML有什么好處?

            有了HTML,為什么還需要用XML?
            因為現在網絡應用越來越廣泛,僅僅靠HTML單一文件類型來處理千變萬化的文檔和數據已經力不從心,而且HTML本身語法十分不嚴密,嚴重影響網絡信息傳送和共享。(想想瀏覽器兼容的問題傷透多少設計師的腦細胞啊。)人們早已經開始探討用什么方法來滿足網絡上各種應用的需要。使用SGML是可以的,但SGML太龐大,編程復雜,于是最終選擇了"減肥"的SGML---XML作為下一代web運用的數據傳輸和交互的工具。
            使用XML有什么好處?來看w3c組織(XML標準制定者)的說明:
            XML使得在網絡上使用SGML語言更加"簡單和直接": 簡化了定義文件類型的過程,簡化了編程和處理SGML文件的過程,簡化了在Web上的傳送和共享。
            1.XML可以廣泛的運用于web的任何地方;
            2.XML可以滿足網絡應用的需求;
            3.使用XML將使編程更加簡單;
            4.XML便于學習和創建;
            5.XML代碼將清晰和便于閱讀理解;
            還是抽象了些。讓我們在后面的實例教程中慢慢體會XML的強大優勢吧!

            四. XML很難學嗎?

            如果你有興趣學習XML,不禁會問:XML難嗎?學習XML需要什么樣的基礎?
            XML非常簡單,學習容易。如果你熟悉HTML,你會發現它的文檔和HTML非常相似,看同樣的示例文檔(例1):
            <?xml version="1.0"?>
            <myfile>
            <title>XML Quick Start</title>
            <author>ajie</author>
            <email>ajie@aolhoo.com</email>
            <date>20010115</date>
            </myfile>
            第一行<?xml version="1.0"?>是一個XML聲明,表示文檔遵循的是XML的1.0 版的規范。
            第二行定義了文檔里面的第一個元素(element),也稱為根元素: <myfile>。這個就類似HTML里的<HTML>開頭標記。注意,這個名稱是自己隨便定義的。
            再下面定義了四個子元素:title,author,email,和date。分別說明文章的標題,作者,郵箱和日期。當然,你可以用中文來定義這些標簽,看上去更便于理解:
            <?xml version="1.0" encoding="GB2312"?>
            <文章>
            <標題>XML輕松學習手冊</標題>
            <作者>ajie</作者>
            <信箱>ajie@aolhoo.com</信箱>
            <日期>20010115</日期>
            </文章>
            這就是XML的文檔,任何掌握HTML的網友都可以直接寫出這樣簡單的XML文檔。
            另外,學習XML還必須掌握一種頁面腳本語言,常見的就是javascript和VB script。因為XML數據是使用script實現HTML中調用和交互的。我們看一個最簡單的例子(例2):
            1.將下面代碼存為myfile.htm
            <html>
            <head>
            <script language="JavaScript" for="window" event="onload">
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async="false";
            xmlDoc.load("myfile.xml");
            nodes = xmlDoc.documentElement.childNodes;
            title.innerText = nodes.item(0).text;
            author.innerText = nodes.item(1).text;
            email.innerText = nodes.item(2).text;
            date.innerText = nodes.item(3).text;
            </script>
            <title>在HTML中調用XML數據</title>
            </head>
            <body bgcolor="#FFFFFF">
            <b>標題: </b>
            <span id="title"> </span><br>
            <b>作者: </b>
            <span id="author"></span><br>
            <b>信箱: </b>
            <span id="email"></span><br>
            <b>日期:</b>
            <span id="date"></span><br>
            </body>
            </html>
            2.將下面代碼存為myfile.xml
            <?xml version="1.0" encoding="GB2312"?>
            <myfile>
            <title>XML輕松學習手冊</title>
            <author>ajie</author>
            <email>ajie@aolhoo.com</email>
            <date>20010115</date>
            </myfile>
            3.將它們放在同一個目錄下,用IE5以上版本瀏覽器打開,可以看到效果。點這里看實例。
            學習并掌握一種script,你將真正發揮XML無比強大的功能。

            五. XML和HTML的區別

            XML和HTML都來自于SGML,它們都含有標記,有著相似的語法,HTML和XML的最大區別在于:HTML是一個定型的標記語言,它用固有的標記來描述,顯示網頁內容。比如<H1>表示首行標題,有固定的尺寸。相對的,XML則沒有固定的標記,XML不能描述網頁具體的外觀,內容,它只是描述內容的數據形式和結構。
            這是一個質的區別:網頁將數據和顯示混在一起,而XML則將數據和顯示分開來。
            我們看上面的例子,在myfile.htm中,我們只關心頁面的顯示方式,我們可以設計不同的界面,用不同的方式來排版頁面,但數據是儲存在myfile.xml中,不需要任何改變。
            (如果你是程序員,你會驚訝的發現,這與模塊化面向對象編程的思想極其相似!其實網頁何嘗不是一種程序呢?)
            正是這種區別使得XML在網絡應用和信息共享上方便,高效,可擴展。所以我們相信,XML做為一種先進的數據處理方法,將使網絡跨越到一個新的境界。

            六. XML的嚴格格式

            吸取HTML松散格式帶來的經驗教訓,XML一開始就堅持實行"良好的格式"。
            我們先看HTML的一些語句,這些語句在HTML中隨處可見:
            1.<p>sample
            2.<b><i>sample</b></i>
            3.<td>sample</TD>
            4.<font color=red>samplar</font>
            在XML文檔中,上述幾種語句的語法都是錯誤的。因為:
            1.所有的標記都必須要有一個相應的結束標記;
            2.所有的XML標記都必須合理嵌套;
            3.所有XML標記都區分大小寫;
            4.所有標記的屬性必須用""括起來;
            所以上列語句在XML中正確的寫法是
            1.<p>sample</p>
            2.<b><i>sample</i></b>
            3.<td>sample</td>
            4.<font color="red">samplar</font>
            另外,XML標記必須遵循下面的命名規則:
            1.名字中可以包含字母、數字以及其它字母;
            2.名字不能以數字或"_" (下劃線) 開頭;
            3.名字不能以字母xml (或XML 或Xml ..) 開頭;
            4.名字中不能包含空格。
            在XML文檔中任何的差錯,都會得到同一個結果:網頁不能被顯示。各瀏覽器開發商已經達成協議,對XML實行嚴格而挑剔的解析,任何細小的錯誤都會被報告。你可以將上面的myfile.xml修改一下,比如將<email>改為<Email>,然后用IE5直接打開myfile.xml,會得到一個出錯信息頁面:
            <?xml version="1.0" encoding="GB2312"?>
            <myfile>
            <title>XML輕松學習手冊</title>
            <author>ajie</author>
            <Email>ajie@aolhoo.com</email>
            <date>20010115</date>
            </myfile>

            七. 關于XML的更多

            好了,到現在你已經知道:
            1.什么是XML;
            2.XML,HTML,SGML之間的關系和區別;
            3.XML的簡單應用。
            恭喜你!你已經不再對XML一無所知,并且已經走在了網絡技術的前沿。整個學習過程好象并不很難哦:)
            如果你對XML有更多的興趣,希望進一步了解XML的詳細資料和其它的實際運用技術,歡迎繼續瀏覽我們的下一章:XML的概念。

          posts - 11, comments - 18, trackbacks - 0, articles - 4

          Copyright © viita

          主站蜘蛛池模板: 巴彦淖尔市| 绵竹市| 文登市| 上思县| 嵊泗县| 洪雅县| 双柏县| 江城| 秦皇岛市| 大连市| 新巴尔虎右旗| 新兴县| 五常市| 鹤庆县| 镇平县| 松阳县| 洛南县| 宜阳县| 鸡泽县| 蒲江县| 朔州市| 宿州市| 德令哈市| 桦甸市| 乌兰县| 沧州市| 安远县| 德化县| 鹤峰县| 临沂市| 利川市| 南召县| 镇平县| 富锦市| 金坛市| 宽甸| 芷江| 边坝县| 丰都县| 浠水县| 孙吴县|