一、書寫標準的xml需要注意以下幾點:
1、乙個標準的xml文件必須要在第一行以"<?xml>"開頭,以及乙個"/>"結尾,其中開頭部分需申明xml的版本,如:version="1.0",也應包含乙個關於編碼的宣告:「encoding="utf-8"」;
2、xml要求所有的標籤必須在文件結束之前被閉合,如果標籤中包含內容,則必須寫成「《標籤名》內容這種格式的。
3、每個xml都有有乙個根元素,也叫根節點。
4、節點有節點值和屬性。
5、xml的節點值如果出現與xml標籤關鍵字一樣的字元,xml將會無法解析文件,比如,某個節點值如果是乙個大於或者小於號,就會讓直譯器產生乙個錯誤,
二、在flash中建立乙個簡單的例項:
//建立乙個新的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;
首先,來看看這幅圖,稍微加點印象。
下面,我將對xml檔案的解析方面做詳細的介紹。
為了便於講解,在此,我舉乙個簡單的例子。
1、新建乙個記事本檔案,在裡面輸入如下內容:
《購買物品》按ctrl+enter測試,即可以看效果。《襯衣 顏色="白色" 品牌="雅戈爾">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
}
首先,我們來看看如何對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...