關於XML在與FLASH互動應用中的理解

2022-02-27 21:42:50 字數 2510 閱讀 3675

一、書寫標準的xml需要注意以下幾點:

1、乙個標準的xml文件必須要在第一行以"<?xml>"開頭,以及乙個"/>"結尾,其中開頭部分需申明xml的版本,如:version="1.0",也應包含乙個關於編碼的宣告:「encoding="utf-8"」;

2、xml要求所有的標籤必須在文件結束之前被閉合,如果標籤中包含內容,則必須寫成「《標籤名》內容這種格式的。

3、每個xml都有有乙個根元素,也叫根節點。

4、節點有節點值和屬性。

5、xml的節點值如果出現與xml標籤關鍵字一樣的字元,xml將會無法解析文件,比如,某個節點值如果是乙個大於或者小於號,就會讓直譯器產生乙個錯誤,

二、在flash中建立乙個簡單的例項:

//建立乙個新的xml類例項

var my_xml:xml=new xml();

//建立乙個textarea元件,用於顯示此xml內容

var my_textarea:mx.controls.textarea;

//載入外部xml檔案

my_xml.load("my_xml.xml");

//為load函式定義onload函式---此處是必須的。只有當載入成功後,才能控制xml。否則不能。

my_xml.onload=function(ok:boolean)else

}//忽略空白:

my_xml.ignorewhite=true;

三、關於flash解析xml詳解,說白了,也就是對節點的讀取。

首先,來看看這幅圖,稍微加點印象。

下面,我將對xml檔案的解析方面做詳細的介紹。

為了便於講解,在此,我舉乙個簡單的例子。

1、新建乙個記事本檔案,在裡面輸入如下內容:

《購買物品》

《襯衣 顏色="白色" 品牌="雅戈爾">1件1條3雙

然後儲存為"goods.xml",注意,在編碼處,要選擇"unicode"。

2、下面,就對裡面的各項值進行解讀。

讀取整個xml檔案的方法:

在剛才的xml的同級目錄下新建一fla檔案,然後在場景中放置一textarea元件。並賦例項名「my_textarea」,

然後在第一幀中新增如下**:

var my_xml:xml=new xml();

system.usecodepage=true;

var my_textarea:mx.controls.textarea;

my_xml.load("goods.xml")

my_xml.onload=function(ok:boolean)else

}

按ctrl+enter測試,即可以看效果。

首先,我們來看看如何對xml中的節點名稱或者節點屬性進行讀取呢?

比如,我們要讀取如例子中的"購買物品"這幾個字元,該如何操作呢?

我們使用如下語句:

this.firstchild.nodename;

如果要讀取"襯衣":

this.firstchild.childnodes[0].nodename;

如果要讀取"1條":

this.firstchild.childnodes[1].childnodes[0].nodevalue;

如果要讀取褲子的品牌:

this.firstchild.childnodes[1].attributes.品牌;

將xml讀取進list元件中:

system.usecodepage = true;

var my_textarea:mx.controls.textarea;

var my_list:mx.controls.list;

var my_xml:xml = new xml();

my_xml.ignorewhite = true;

my_xml.load("shopping.xml");

my_xml.onload = function(ok:boolean) {

if (ok) {

var childnodes = this.firstchild.childnodes;

for (i=0; i

第乙個節點:firstchild:

用法:this.firstchild;

最後乙個節點:lastchild

用法:this.lastchild;

兄弟節點:nextsibling:

用法:this.firstchild.childnodes[0].nextsibling;

另乙個兄弟節點:previoussibling:

用法:this.firstchild.childnodes[0].previoussibling;

區別:nextsibling是朝後,而previoussibling是當前之前;

父類節點:parentnode:

用法:this.firstchild.parentnode;

上述所有例項演示:

關於XML在與FLASH互動應用中的理解

一 書寫標準的xml需要注意以下幾點 1 乙個標準的xml文件必須要在第一行以 開頭,以及乙個 結尾,其中開頭部分需申明xml的版本,如 version 1.0 也應包含乙個關於編碼的宣告 encoding utf 8 2 xml要求所有的標籤必須在文件結束之前被閉合,如果標籤中包含內容,則必須寫成...

flash與xml互動時不顯示中文的問題

flash與xml互動時不顯示中文的問題 1 在動態文字框裡面刪除巢狀的英文本型。2 修改動態文字框的字型為中文字型。3 給所有動態文字新增模糊濾鏡,但是引數設定為0,就是空濾鏡。如果xml文件是存為unicode編碼的話要在第一幀裡新增語句 system.usecodepage true 如果是用...

Flex與Flash的互動 2 深層物件互動示例

b color orange flex端程式 color b 1 主程式檔案testflex flash.mxml源 2 testcomponent.mxml源 3 非可視元件visualview.as源 package public function visualview public funct...