Хорошо, теперь, наверное, проще всего объяснить мою проблему следующим образом: я могу написать имя моего xml-файла, который должен быть загружен в динамическое текстовое поле на сцене, однако я, похоже, не могу чтобы получить к нему доступ после этого и убрать из него необходимые данные, вот мой код:
var tf:TextField = new TextField();
tf.autoSize=TextFieldAutoSize.LEFT;
tf.border=true;
addChild(tf);
try {
var keyStr:String;
var valueStr:String;
var paramObj:Object=LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
valueStr=String(paramObj[keyStr]);
tf.appendText(valueStr + "\n");
}
} catch (error:Error) {
tf.appendText("error");
}
// load and parse the xml
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest(valueStr));
function LoadXML(e:Event):void {
xmlData=new XML(e.target.data);
xmlData.ignoreWhite = true;
var items:XMLList = xmlData.resource;
var tarray:Array = new Array();
for each (var resource:XML in items) {
tarray.push(resource.@src);
}
c3 = tarray.pop();
c2 = tarray.pop();
c1 = tarray.pop();
Где мой xml выглядит так, кто-нибудь видит, что я делаю не так?
<?xml version="1.0" encoding="utf-8"?>
<xml>
<resource id="thing1" src="swf1.swf" />
<resource id="thing2" src="swf2.swf" />
<resource id="thing3" src="swf3.swf" />
</xml>
Большое спасибо
// ОБНОВЛЕНИЕ
ОК, теперь этот сценарий работает нормально, когда я напрямую загружаю xml:
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest("testxml.xml"));
function LoadXML(e:Event):void {
xmlData=new XML(e.target.data);
xmlData.ignoreWhite = true;
var items:XMLList = xmlData.resource;
var tarray:Array = new Array();
for each (var resource:XML in items) {
tarray.push(resource.@src);
}
c3 = tarray.pop();
c2 = tarray.pop();
c1 = tarray.pop();
trace("c1"+c1+"c2"+c2+"c3"+c3); // traces my swf files
Затем код, прикрепленный к кнопке, успешно загружает файл:
var swf:MovieClip;
var loader:Loader = new Loader();
var defaultSWF:URLRequest = new URLRequest(c1);
Итак, все, что я хочу сейчас сделать - это добиться того же, но загружать xml с помощью loadvars, как я делал раньше, из моих следов кажется, что есть проблема с областью действия, но я не уверен, почему, если на c1 "можно ссылаться так же, как и выше ..?
спасибо