精通Flex 3.0――4.6.1 創建XML對象

  在ActionScript 3.0中,提供了三種最基本的方法創建XML對象。

q      第一種通過表達式的方式直接建立XML對象。如下代碼所示

var flexXML:XML=

<RIA>

         <FlashPlayer>

                   <Flash>Flash CS3</Flash>

                   <Flex>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

注意:使用XML表達式的時候與一般的賦值語句不同。語句結束沒有“;”標識符,直接結束。XML字符串也不需要通過引號或者單引號進行限定。

q      第二種方式是通過XML對象的構造函數的方式構建XML對象。如下代碼所示。

var flexXMLStr:String="<RIA>"

                    +"<FlashPlayer>"

                    +"<Flash>Flash CS3</Flash>"

                    +"<Flex>Flex3</Flex>"

                    +"</FlashPlayer>"

                    +"<Ajax>"

                    +"<GoogleAjax>GoogleAjax1.0</GoogleAjax>"

                    +"</Ajax>"

                    +"</RIA>";

var flexXML1:XML=new XML(flexXMLStr);

q      第三種方式是通過加載外部XML文件的方式構建XML對象。這種加載的本質其實也是使用構造函數的方式進行加載。XML文件RIA.xml文件內容如下。

<RIA>

         <FlashPlayer>

                   <Flash>Flash CS3</Flash>

                   <Flex>Flex3</Flex>

         </FlashPlayer>

         <Ajax>

                   <GoogleAjax>GoogleAjax1.0</GoogleAjax>

         </Ajax>

</RIA>

可以通過制定RIA.xml文件位置的方式加載該文件內容到XML對象中,。代碼如下所示。

var flexXML2:XML;

var flexLoader:URLLoader = new URLLoader();

var flexRequest:URLRequest = new URLRequest("RIA.xml");

function onComplete(event:Event):void

{

         var flexLoader:URLLoader = event.target as URLLoader;

if (flexLoader != null)

{

         flexXML2 = new XML(flexLoader.data);

         trace(flexXML2.toXMLString());

}

else

{

         trace("加載錯誤!");

}

在上面的代碼中加載外部的資源是異步進行的。需要聲明一個事件處理機制,通過這個事件監聽來響應加載結束XML的事件。

注意:在創建XML對象時,XML內容必須遵循XML的規範。讀者可以在www.w3c.org網站上詳細察看這個規範。

以上三種方式是最常用的創建XML對象的方法。還會有一些特殊的創建XML對象的方法,例如使用XMLSocket對象構建XML對象。XMLSocket對象會在稍後內容講解。

創建的XML對象中,有一系列屬性和方法進行簡單的XML處理。常用屬性如表4.5所示。常用方法如表所示。

XML對象常用屬性

屬性名稱

屬性分類

屬性說明

ignoreComments

註釋與說明屬性

取值turefalse,表明讀取XML時是否忽略註釋。

ignoreProcessingInstructions

註釋與說明屬性

取值turefalse,表明讀取XML時是否忽略說明和介紹。

ignoreWhitespace

空白

取值turefalse,表明是否忽略XML內容中,純粹的空白。

prettyIndent

格式屬性

取值truefalse,表明是否輸出成字符串時帶有縮緊。

prettyPrinting

格式屬性

取值truefalse,表明打印輸出時有嚴格的打印格式。

  XML對象常用方法

方法名稱

方法分類

方法說明

appendChild

操作節點方法

添加節點到XML對象的尾部。參數爲一個XML對象或者XML表達式。

child

操作節點方法

返回XML對象的子節點,參數爲子節點的名稱

children

操作節點方法

返回XML對象的所有子節點,返回類型爲XMLList類型。

elements

操作節點方法

返回XML對象的子節點或者屬性,參數爲子節點或屬性名稱。

insertChildAfter

操作節點方法

插入節點到指定節點之後,參數爲指定節點。

insertChildBefore

操作節點方法

插入節點到指定節點之前,參數爲指定的節點。

parent

操作節點方法

返回當前節點的父節點。

prependChild

操作節點方法

返回當前節點的前一個節點。

attribute

操作屬性方法

返回指定的屬性,參數爲指定的屬性名稱。

attributes

操作屬性方法

返回XML對象的所有屬性。

hasComplexContent

內容操作方法

判斷當前節點內容是否爲複雜內容,返回值爲truefalse。複雜內容是指包括有子節點的XML對象。

hasSimpleContent

內容操作方法

判斷當前節點內容是否爲簡單內容,返回指爲truefalse。簡單內容是指單一的字符串內容。

toString

內容操作方法

XML對象輸出爲字符串內容。

toXMLString

內容操作方法

輸出爲XML字符串的內容。

copy

對象操作方法

拷貝XML對象的副本,返回值爲當前節點的內容。

valueOf

對象操作方法

返回指定節點內容,不包括節點的表示。

length

對象操作方法

返回當前XML對象下一級節點個數。

在操作XML對象的過程中還會經常使用XMLList對象。XMLList對象的方法與XML對象很像,使用起來具有統一性。XML的整體結構是一個樹型結構,所以在使用樹型結構的過程中,通過XMLXMLList對象的使用可以達到整體與部分一致的操作。這樣,就會使操作XML整體與操作XML對象的一部分一致。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章