动态更改Flash AS3中引用的XML文件?

时间:2010-09-28 22:17:38

标签: xml flash actionscript-3 air

基本上我通过使用AS3引用XML文档来解析和播放媒体。这些媒体文件将分成单独的XML文件,然后我计划的是动态更改正在引用的XML文件。问题是,代码只在第2帧触发一次,我似乎无法弄清楚如何在事件触发器上为不同的XML文件切换出来。 “new URLRequest(www.blah.com/theotherXMLfile.xml)”无效......我是否需要重新加载其他一串代码才能更改为其他XML文档?

如果您需要,我会发布代码......

2 个答案:

答案 0 :(得分:2)

不确定这是否是您要求的,但要更新XML,您需要URLLoader重新加载文件,然后重新解析XML文档。

修改

以下是有关如何重用URLRequest的快速示例。我希望我没有在其中添加任何语法错误,有更长的AS中断..:P

private var dataUrl:URLRequest;
private var xmlLoader:XMLLoader;
private var xmlDoc:XML;

private function init ():void
{
    dataUrl = new URLRequest( ... );

    xmlLoader = new XMLLoader( dataUrl );
    xmlLoader.addEventListener( Event.COMPLETE, parseXML );
}

public function reloadXML ()
{
    xmlLoader.load( dataUrl );
}

private function parseXML ( event:Event )
{
    xmlDoc = new XML( xmlLoader.text );

    // do something else, for example update UI etc.
}

答案 1 :(得分:1)

您可以使用相同的URLLoader

加载新的XML
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE , completeHandler );
// configure your other listeners here for IOError etc...
var request:URLRequest;

function loadXML(url:String ):void
{
    request = new URLRequest(url);
    xmlLoader.load(request );
}