flex教程區(qū)電子教案第21章xml的處理_第1頁
flex教程區(qū)電子教案第21章xml的處理_第2頁
flex教程區(qū)電子教案第21章xml的處理_第3頁
flex教程區(qū)電子教案第21章xml的處理_第4頁
flex教程區(qū)電子教案第21章xml的處理_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第21章XML的處理近年來,隨著XML的迅速發(fā)展,在越來越多的Web應(yīng)用中,都選擇XML作為數(shù)據(jù)操縱和數(shù)據(jù)傳輸格式。對(duì)于XML數(shù)據(jù)的處理成為Web應(yīng)用中非常關(guān)鍵的部分。本章主要講述在ActionScript中XML的處理,以及在Flex中如何使用XML作為數(shù)據(jù)綁定。21.1XML概述在講述如何在Flex中處理XML前,首先需要了解XML一些相關(guān)特性。本節(jié)是XML的概述章節(jié),簡(jiǎn)要介紹XML和E4X。21.1.1XML簡(jiǎn)介XML是eXtensibleMarkupLanguage的縮寫,意思是可擴(kuò)展的標(biāo)記語言。與HTML相似,XML是一種顯示數(shù)據(jù)的標(biāo)記語言。它能使數(shù)據(jù)通過網(wǎng)絡(luò)無障礙地進(jìn)行傳輸,并顯示在用戶的瀏覽器上。但XML更側(cè)重于數(shù)據(jù)的組織和處理以及如何更好的顯示數(shù)據(jù)。在這一點(diǎn)上,XML與HTML有一定的區(qū)別。XML是一套定義語義標(biāo)記的規(guī)則。利用標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。它也是元標(biāo)記語言,即定義了用于定義其他與特定領(lǐng)域有關(guān)的、語義的、結(jié)構(gòu)化的標(biāo)記語言的句法語言。XML最大的優(yōu)勢(shì)在于對(duì)各種數(shù)據(jù)的管理。任何系統(tǒng)都可以使用XML的解析器,所以XML是跨平臺(tái)的,與系統(tǒng)無關(guān)的。使用XML能夠很清晰的描述數(shù)據(jù)之間的關(guān)聯(lián)。21.1.2E4XE4X全稱為ECMAScriptforXML,是一套XML處理規(guī)范。和傳統(tǒng)的XML操作方式相比,E4X最大的特點(diǎn)就是語法簡(jiǎn)單、直觀、高效。E4X使XML就像一種本地?cái)?shù)據(jù)類型,從而簡(jiǎn)化了處理XML的應(yīng)用程序的開發(fā)。在ActionScript3.0中,完全采用了E4X的實(shí)現(xiàn)XML的處理。在ActionScript3.0中,引入了E4X相關(guān)類:XML、XMLList、QName和Namespace。使用這些類使得ActionScript3.0中對(duì)XML的操縱方便了許多,不必在單獨(dú)的編寫方法遍歷XML文檔,無數(shù)次的讀取ChildNodes等復(fù)雜的操作,提高讀取以及查詢數(shù)據(jù)的效率。而且在ActionScript3.0中,關(guān)于XML類的編寫與其他類的編寫是基本一致的,非常方便理解。而且在操作XML可以使用點(diǎn)操作符號(hào)“.”。21.1.3XML和XMLList在Flex中XML的操作需要通過ActionScript中的相關(guān)類和方法。在ActionScript的頂層包中,主要包含2個(gè)XML相關(guān)類。XML類:XML類包含XML的方法和屬性,如創(chuàng)建XML對(duì)象、為添加節(jié)點(diǎn)、刪除節(jié)點(diǎn)、獲得節(jié)點(diǎn)的屬性等。用戶可以利用XML類創(chuàng)建XML對(duì)象,XMLLsit:XMLLsit可以包含多個(gè)XML元素,可以把XMLList看作多個(gè)XML對(duì)象或元素的集合。21.2XML的操縱在ActionScript3.0中,無論是創(chuàng)建XML還是讀取XML中的內(nèi)容與ActionScript2.0相比,都容易很多。ActionScript3.0對(duì)于XML的支持比ActionScript2.0更加強(qiáng)大。本節(jié)介紹如何使用ActionScript3.0中新特性對(duì)XML進(jìn)行操縱。21.2.1創(chuàng)建XML在ActionScript3.0中,可以直接在ActionScript中創(chuàng)建XML對(duì)象,也可以使用XML類的構(gòu)造函數(shù)將其他對(duì)象轉(zhuǎn)換為XML對(duì)象。1.直接創(chuàng)建XML2.使用XML類構(gòu)造函數(shù)21.2.2遍歷XML相比ActionScript2.0,在ActionScript3.0中訪問XML的節(jié)點(diǎn)簡(jiǎn)直是革命性的飛躍。在ActionScript3.0中可以使用運(yùn)算符訪問XML,包括點(diǎn)號(hào)“.”、屬性標(biāo)識(shí)“@”、后裔符號(hào)“..”、通配符“*”。這樣的方法方法,有些類似與XPath,用戶直接使用路徑訪問XML。下面是“XML簡(jiǎn)介”一節(jié)中的XML片段介紹如何訪問XML中的元素。21.2.3修改XML在修改XML中節(jié)點(diǎn)的內(nèi)容時(shí),也可以使用操作符指定節(jié)點(diǎn)或者屬性進(jìn)行修改。但修改的對(duì)象必須是單個(gè)的XML節(jié)點(diǎn)。如果查找的返回對(duì)象為XMLList,則不能進(jìn)行修改,下面的例子對(duì)下面是“XML簡(jiǎn)介”一節(jié)中的XML的內(nèi)容進(jìn)行修改。//修改部分1的名稱x1.department[0].name="部門3"http://為馮武添加工資標(biāo)簽x1.department.(@id=="d2").employee.(name=="馮武").salary=3000//為部分2添加新的屬性x1.department[1].location="3樓"http://刪除部門1中的李四員工deletex1.department[0].employee.(name=="李四")//刪除部門1deletex1.department[0]21.3在MXML中使用XMLXML可以作為多種控件的數(shù)據(jù),例如列表控件、數(shù)據(jù)表格控件等。在Flex中可以利用MXML中的標(biāo)簽,如<mx:XML>、<mx:XMLList>、<mx:Model>定義XML數(shù)據(jù),為控件進(jìn)行數(shù)據(jù)綁定。本節(jié)介紹如何在MXML中使用XML。21.3.1使用<mx:XML>使用<mx:XML>時(shí),可以利用source屬性指定外部XML的路徑,例如使用data目錄下的a.xml。<mx:XMLid="x1"source="data/a.xml"xmlns=""/>也可以在<mx:XML>下直接定義XML內(nèi)容,代碼如下所示。<mx:XMLid="x1"xmlns=""> <a> <b/> </a></mx:XML>21.3.2使用<mx:XMLList>使用XMLList時(shí),可以在標(biāo)簽下直接定義內(nèi)容,代碼如下所示。<mx:XMLListid="myXMLList"><nodename="a1"/><nodename="a2"/></mx:XMLList>21.3.3使用<mx:Model> 在使用<mx:Model>也可以使用source指定外部XML的地址,或者在標(biāo)簽直接定義內(nèi)容,代碼如下所示。<mx:Modelid="mystates"><states><statelabel="諾基亞7500"ima

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論