Actionscript 3 来自xml的flashbuilder变量
我想问一下如何将变量从XML加载到FlashBuilder。可能吗?我想我加载了变量,但我的AS3已经完成了。我的意思是,XML中的变量是在执行脚本后加载的。知道怎么做吗?感谢您的建议示例XML(message.XML)Actionscript 3 来自xml的flashbuilder变量,actionscript-3,flash-builder,Actionscript 3,Flash Builder,我想问一下如何将变量从XML加载到FlashBuilder。可能吗?我想我加载了变量,但我的AS3已经完成了。我的意思是,XML中的变量是在执行脚本后加载的。知道怎么做吗?感谢您的建议示例XML(message.XML) 假设您将拥有此xml(此代码非常有效): 您可以下载此项目 注意:这是一个Flex Mobile项目。谢谢,它可用于移动应用程序吗?对于flash.net.URLLoader、flash.net.URLRequest、flash.display.Sprite,它给出了错误“类不
假设您将拥有此xml(此代码非常有效): 您可以下载此项目
注意:这是一个Flex Mobile项目。谢谢,它可用于移动应用程序吗?对于flash.net.URLLoader、flash.net.URLRequest、flash.display.Sprite,它给出了错误“类不能嵌套”和“导入…未在本地使用”。
<?xml version="1.0" encoding="utf-8" ?>
<category>
<movie date = "13/07/31" genre = "Action">
<title>foo</title>
<rate>4.5</rate>
</movie>
</category>
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
public class XML_Parsing_Tester extends Sprite
{
private var movieDate:String;
private var movieGenre:String;
private var movieTitle:String;
private var movieRate:Number;
public function XML_Parsing_Tester()
{
var loader:URLLoader = new URLLoader();
loader.load(new URLRequest("message.xml"));
loader.addEventListener(Event.COMPLETE, onLoaded);
}
private function onLoaded(e:Event):void
{
var xml:XML = new XML(e.target.data);
movieDate = xml.movie.@date;
movieGenre = xml.movie.@genre;
movieTitle = xml.movie.title;
movieRate = xml.movie.rate;
}
}
}
<root>
<child id="1">
<detail>
<detailchild description="detail 1 child"/>
<detailchild description="detail 2 child"/>
</detail>
</child>
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com
/flex/spark" firstView="views.OpenXmlHomeView" applicationDPI="160">
</s:ViewNavigatorApplication>
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" viewActivate="view_activateHandler()">
<fx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
public function view_activateHandler():void{
//Open a XML file
var ldr:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("../source.xml");
ldr.addEventListener(Event.COMPLETE, onLoad);
ldr.load(request);
}
private function onLoad(e:Event):void
{
var arr:Array = new Array();
var ldr:URLLoader = URLLoader(e.target);
//XML was loaded then read
var myxml:XML = new XML(ldr.data);
var xmlList:XMLListCollection = new XMLListCollection(myxml.children());
//Loop over XML childs to load a Question Array
for each(var obj:Object in xmlList){
arr.push(obj.@id);
var xmlChildren:XMLList = obj.detail;
for each (var qt:Object in new XMLListCollection(xmlChildren.children())){
arr.push(qt.@description);
}
}
lbl.text = arr.toString();
}
]]>
</fx:Script>
<s:Label id="lbl" />
</s:View>
1, detail 1 child, detail 2 child