2016-02-29 41 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

谢谢你的帮助,这是工作:) –