(這是一個個人簡歷):
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="GB2312"?>
<personal>
<profile>
<name>明</name>
<sex>男</sex>
<age>21</age>
<city>南寧</city>
</profile>
<profile>
<name>繁</name>
<sex>男</sex>
<age>21</age>
<city>上海</city>
</profile>
</personal>
把該文檔作為 profile.xml 保存。
現在我們來創建用於讀取profile.xml文檔的flash 程序。新建一個Flash 文檔,在根時間線的第1幀捆綁下面的腳本:
//防止亂碼(一般這樣說,但不然只要在保存XML文檔時以Unicode保存就可以刪除這句)
System.useCodepage=true;
//創建一個XML對象myXML
myXML=new XML();
//創建一個All 與 aa bb cc dd的數組
var all = new Array();
var aa = new Array();
var bb = new Array();
var cc = new Array();
var dd = new Array();
//把profile.xml裝入myXML
myXML.load("profile.xml");
//忽略僅包含空白的文本節點
myXML.ignoreWhite=true;
//當profile.xml完全裝入myXML中時應進行的處理
myXML.onLoad=function(success){
//如果將profile.xml完全裝入時
if (success){
//獲取myXML 對象中全部子節點對象的對象數組,對象數組中的每個數據元素都是 myXML 操作對象中的一個子節點對象。
all = myXML.firstChild.childNodes;
//測試可以看到"<personal><profile>.....</profile> <profile>.....</profile></personal>"中所有的數據
trace(All);
//用一個 for 得出all的總數,這里2
for (var i = 0; i<all.length; i++) {
//如果想得到profile.xml文檔中所有的"<name>..</name>"數據,輸入下句
aa[i] = all[i].childNodes[0].firstChild.nodeValue;
trace(aa[i]);
//如果想得到profile.xml文檔中所有的"<sex>..</sex>"數據,輸入下句
bb[i] = all[i].childNodes[1].firstChild.nodeValue;
trace(bb[i]);
//如果想得到profile.xml文檔中所有的"<age>..</age>"數據,輸入下句
cc[i] = all[i].childNodes[2].firstChild.nodeValue;
trace(cc[i]);
//如果想得到profile.xml文檔中所有的"<city>..</city>"數據,輸入下句
dd[i] = all[i].childNodes[3].firstChild.nodeValue;
trace(dd[i]);
}//結束
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////語法1////////////////////
//語法: myXML.childNodes
//返回:一個對象數組
//介紹:讀取 XML 操作對象的 childNodes 屬性,可以獲取一個包含 myXML 操作對象中全部子節點對象的對象數組,對象數組中的每 個數據元素都是 myXML 操作對象中的一個子節點對象。
//////////////////////////////語法2///////////////////////
//語法: myXML.firstChild
//返回:一個 XML 元素或文字節點對象
//介紹:通過讀取 XML 操作對象的 firstChild 屬性,可以獲取 myXML 操作對象中包含的第一個子元素節點或子文字節點對象。
是不是很簡當呢!當然這只是我們的初步,之后我雪狐所要講解的是如何用XML文檔里的數據來制作一個簡單的flash播放器
文章2============================
XML類:
XML.ignoreWhite;//處理xml文檔中的空白,設為true時,忽略空白,默認值為false.
XML.load("xml文檔的地址");//加載指定的xml文檔.
XML.onLoad=function(success:Boolean){};//成功加載了xml文檔時調用.
XML構造函數.
XMLNode類:
XMLNode.attributes;//用來指定xml文檔的屬性.
XMLNode.childNodes;//返回指定xml文檔對象的子級的數組.
XMLNode.firstChild;//引用父級節點的子級列表中的第一個子級.
XMLNode.nodeValue;//返回XML對象的節點值.
XMLNode.nodeName;//XML 對象的節點名稱
在“藍色理想”里找到這些屬性,用nodeValue的時候,試了大半天,還是沒有成功。。。
一時興起,試了firstChild,竟然成功了。。
如:<xml><ls><langshen name="狼神">還是狼神</langshen></ls></xml>
提取一個XML中,“langshen”這個值的時候,name是這樣提取的:
xml.firstChild.firstChild.firstChild.attributes.name
.而結點內容,則是:
xml.firstChild.firstChild.firstChild.firstChild。。用nodeValue時會返回null
而且,FLASH中讀XML和VB類的不一樣,第一層就已經是一個firstChild。。。