記錄點(diǎn)滴

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            10 Posts :: 1 Stories :: 1 Comments :: 0 Trackbacks
          XML簡介:
              Xml是可擴(kuò)展性標(biāo)記語言(eXtendsible Markup Language)的縮寫。
              所謂標(biāo)記,是指一系列的特許的字符符號(hào),可以通過向其中插入文本來存儲(chǔ)文檔的內(nèi)容。
              它是不同技術(shù)之間數(shù)據(jù)交換的基石。
           
          * xml與html的區(qū)別:
              > Xml是一中標(biāo)記語言,這意味著xml文檔都是使用標(biāo)記來存儲(chǔ)數(shù)據(jù)和信息的。
              >> 一個(gè)規(guī)范的html文檔完全可以被看做xml文檔。
              >> xml的可擴(kuò)展性體現(xiàn)在其標(biāo)記可由開發(fā)者自行定義。
              >> xml文檔更接近于數(shù)據(jù)庫,它并不存儲(chǔ)數(shù)據(jù)的表現(xiàn)形式。
           
              > html是一門編程語言,它可以被解析工具(如IE瀏覽器)處理,
                  并將信息以某種格式顯示出來。
              >> html注重的是數(shù)據(jù)的表現(xiàn)形式。
           
              HTML由于已定義標(biāo)記的有限性,在很多領(lǐng)域已經(jīng)抓襟見肘了。
              而xml可擴(kuò)展性很好的彌補(bǔ)了HTML的缺陷。
           
          * xml主要應(yīng)用于一下幾個(gè)方面:
              1.數(shù)據(jù)交換
              2.跨平臺(tái)應(yīng)用開發(fā)
              3.數(shù)據(jù)轉(zhuǎn)換
              4.數(shù)據(jù)庫:xml完全可以作為一個(gè)小型數(shù)據(jù)庫來使用。
              5.配置文件:尤其是在Java開源框架中,如struts,hibernate,spring等。
                  都是用xml文檔作為配置文件。
           
          * xml語法:
          一.文檔類型的聲明:
              <?xml version="1.0"?>
              該語句是xml文檔類型的聲明,表示該文檔是一個(gè)xml文件。
              version="1.0"表示該xml文檔的版本是1.0的。
           
          說明:
              w3c雖然已經(jīng)提供了xml1.1的版本的推薦標(biāo)準(zhǔn),但并未被廣泛的普及和應(yīng)用。
              最主要原因是說明了1.1版本不能完全向后兼容xml1.0版本。
              因?yàn)閤ml的應(yīng)用非常廣泛,所以在無法做到很好兼容的情況下,
              使用xml1.1來代替xml1.0是不可取的。
           
          1.文檔編碼:xml的字符被設(shè)計(jì)為使用Unicode編碼。
              > xml文檔的默認(rèn)編碼為UTF-8,欲改變xml的字符編碼,應(yīng)適用encoding屬性。
              > 具體設(shè)置:<?xml version="1.0" encoding="ISO-8859-1"?>
           
          2.文檔的獨(dú)立性:xml文檔的外部關(guān)聯(lián)一般使用外部實(shí)體或應(yīng)用了外部DTD文件。
           
          3.注意的問題:
              a) xml文檔類型的聲明并不是處理命令,雖然其形式和處理指令非常相似。
              b) 字符串"xml"和字符串"<?"之間不能留有空格。
              c) 文檔類型的聲明可以不出現(xiàn)在xml文檔中,
                 如果出現(xiàn),則一定要出現(xiàn)在xml文檔的第一行第一列。
           
          二。文檔注釋:
              xml的文檔注釋以<!--開頭,以-->結(jié)束,中間為注釋的內(nèi)容。
           
          注意的問題:
              1.文檔注釋中可以包含任何特殊的字符。
              2.文檔注釋必須以-->結(jié)束
           
          三。元素:元素是指標(biāo)簽及包含在標(biāo)簽內(nèi)部的內(nèi)容。
          > 元素的命名要遵循以下規(guī)則:
              1.元素名只能以字母或下劃線開始,其后可以跟數(shù)字,字母和下劃線的任意組合。
              2.元素名不能以xml(Xml xMl......)開頭
              3.元素名不能包含空格
              4.元素的開始標(biāo)簽與結(jié)束標(biāo)簽名稱必須完全一致,包括大小寫一致。
           
          > 根元素:
              >> 每個(gè)xml文檔元素有且只有一個(gè)根元素,
              >> 根元素是頂級(jí)元素(也就是第一個(gè)元素),
              >> 除處理指令和注釋外,其余所有必須包含在根元素當(dāng)中。
           
          > 元素的嵌套和元素的并列:
              >> 元素嵌套是指一個(gè)元素完全包含在另一個(gè)元素中。
              >> 元素并列是指多個(gè)元素具有相同的父元素。
              >> 在xml文檔中不允許元素的交叉使用。
           
          注意的問題:
              1.xml是大小寫敏感的
              2.文檔類型聲明,注釋和文檔的處理指令都不是元素
              3.元素的開始標(biāo)簽和結(jié)束標(biāo)簽必須成對(duì)出現(xiàn)。
           
          四。屬性:
              > 屬性用于描述元素,所以屬性必須出現(xiàn)在元素的標(biāo)簽內(nèi)部。
              >> 屬性值一定要用引括號(hào)起來。
              > 在屬性賦值時(shí)所使用的雙引號(hào)可以單引號(hào)來代替。
              >> 兩者在使用時(shí)并無區(qū)別,但是當(dāng)屬性值含有雙引號(hào)時(shí),
                 則必須使用單引號(hào)來進(jìn)行屬性賦值,反之亦然。
           
          使用屬性還是子元素的區(qū)別:
              > 描敘一個(gè)元素的某個(gè)特征時(shí),使用子元素和屬性都是可行的。
              > 屬性相對(duì)與子元素的局限性:
                  1.屬性的擴(kuò)展性差。
                  2.每個(gè)元素中同名的屬性只能出現(xiàn)一次而同名的子元素可以出現(xiàn)多個(gè)。
                  3.屬性存儲(chǔ)的數(shù)據(jù)量一旦過大,就會(huì)造成xml文檔結(jié)構(gòu)上的失衡,
                  給閱讀造成很大的不便。
           
          五:實(shí)體引用
          記住五種實(shí)體引用:
              1.&amp;------------------&
              2.&lt;    ------------------<
              3.&gt;    ------------------>
              4.&apos;------------------'
              5.&quot;------------------"
           
          六。CDATA的語法
              > CDATA的全稱為字符數(shù)據(jù)(Character Data),
              > 其語法規(guī)則:<![CDATA[comment]]>,其中<![為開始符,]]>為結(jié)束符,
              > 包含在其中的全部字符都被處理器視為普通字符。
           
          注意的問題:
              1.CDATA段不可嵌套,而且沒有嵌套的必要。
              2.當(dāng)需要將大塊的文本內(nèi)容填充到元素中時(shí),比較適合用CDATA部件。
           
          七。xml中的DTD
                    > DTD實(shí)際上可以看做一個(gè)或多個(gè)xml文件的模板,
                > 這些xml文件中的元素,元素屬性,元素的排列方式、順序,
                  元素能夠包含的內(nèi)容等,都必須符合DTD中的定義。
                > DTD可以是一個(gè)完全獨(dú)立的文件,也可以是在xml文件中直接設(shè)定。
                  所以DTD分為外部DTD和內(nèi)部DTD.
           
          內(nèi)部DTD:
              內(nèi)部DTD是在xml文件中的文件序言區(qū)域中定義的。
              語法:
              <!DOCTYPE elementname[
                  ............
              ]>
              說明:
              <!DOCTYPE :    表示開始設(shè)定DTD
              elementsname:    制定此DTD的根元素名稱
              [..........]:    在[]標(biāo)記里面定義xml文件使用的元素,然后用>結(jié)束DTD定義
           
              在DTD定義的中間元素設(shè)定,是DTD的最主要部分,其語法如下:
              <!ELEMENT elementname elementdifinition>
               
              內(nèi)容模式:ANY,EMPTY,MIXED,子元素
              元素:
                  ? 不出現(xiàn)或只出現(xiàn)一次
                  * 不出現(xiàn)或可以出現(xiàn)多次
                  + 必須出現(xiàn)一次以上
                  無符號(hào) 只能出現(xiàn)一次
           
              <!ATTLIST 元素名 屬性名 屬性類型 缺省類型>
              屬性類型:10種   缺省類型:4種:#required  #implied #fix 字符串
           
          八。命名空間
          語法:xmlns:prefix="uri"
           
              > uri是一個(gè)虛擬的空間,不一定是實(shí)實(shí)在在存在的。
              >
          命名空間用來解決同名標(biāo)簽的問題.

              > 命名空間對(duì)屬性不起作用,只表明標(biāo)簽屬于哪個(gè)命名空間.
           
           
          十。如何書寫xml文檔
              a) 首先要書寫xml文檔的類型聲明
              b) 然后添加一個(gè)注釋以標(biāo)注開發(fā)者的信息,開發(fā)時(shí)間等。
              c) 接著為xml文檔定義一個(gè)根元素。
              d) 再接著添加二級(jí)元素,三級(jí)元素。
          以上只是書寫xml的一般步驟,其中元素的嵌套和屬性依附是最關(guān)鍵的步驟。
          posted on 2009-02-14 23:16 liuliang 閱讀(535) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永寿县| 海口市| 防城港市| 马边| 方正县| 鄱阳县| 同德县| 临泽县| 柳河县| 双江| 尼玛县| 金川县| 长宁区| 博乐市| 江油市| 宜黄县| 玛沁县| 白河县| 会昌县| 平顺县| 佛山市| 肥乡县| 宁明县| 乌拉特后旗| 高陵县| 大丰市| 沅江市| 平塘县| 侯马市| 合肥市| 西昌市| 曲水县| 西藏| 福海县| 石嘴山市| 喀什市| 银川市| 拉孜县| 桃江县| 准格尔旗| 顺昌县|