2016-02-29 58 views
-2

請幫我的ActionScript轉換2.0代碼爲ActionScript 3.0如何在AS3加載XML數據

這是代碼:

//*********************************************************** 
    var theXML:XML = new XML(); 
    theXML.ignoreWhite = true; 
    theXML.onLoad = function() { 
    var nodes = this.firstChild.childNodes; 
    for (i=0;i<nodes.length;i++){ 
    theList.addItem(nodes[i].firstChild.nodeValue,i); 
    } 
    } 

    theXML.load("http://localhost/conn.php"); 
    //*********************************************************** 

這是我的PHP代碼呼應的XML字符串:

echo "<?xml version=\"1.0\"?>\n"; 
echo "<name>\n"; 

while ($line = mysql_fetch_assoc($res)) 
{ echo "<item>" . $line["name"] . "</item>\n"; } 

echo "</name>\n" 

使用AS3,我該如何解析XML字符串與節點實際的XML數據?

+0

你嘗試過什麼?顯示你的AS3嘗試代碼,有人會嘗試修復它...你想加載一個XML文件或一個PHP文件(或PHP回聲一個XML數據)?無論如何,這些都在** AS3 API **手冊中。去谷歌上查詢。 –

+0

我有麻煩顯示PHP回聲一個XML數據到Flash可以幫助我請這是從PHP代碼:回聲「<?xml version = \」1.0 \「?> \ n」; echo「 \ n」; ($ line = mysql_fetch_assoc($ res)) echo「」。 $ line [「name」]。 「 \ n」; } echo「 \ n」 –

+0

谷歌它之前問一個問題,就像這樣「加載xml數據使用actionscript 3」 –

回答

1

有許多how to work with XML in AS3how to migrate AS2 to AS3的例子。

這將是你貼什麼等價的:

var loader:URLLoader = new URLLoader(); 
loader.load(new URLRequest("http://localhost/conn.php")); 
loader.addEventListener(Event.COMPLETE, loaderComplete); 

function loaderComplete(e:Event):void { 
    XML.ignoreWhitespace = true; 
    var xml:XML = new XML(loader.data); 
    var nodes:XMLList = xml.child(0).children(); 
    for (var i:int = 0; i < nodes.length(); i++) { 
     theList.addItem(nodes[i].child(0).text()); 
    } 
} 

注意,在AS3您可以通過名稱來引用XML節點,例如xml.gallery.image[3].url而不是xml.child(0).children()[3].child(0)

+0

謝謝你的幫助,這是工作:) –