07/09/25 05:26:45 TBCw7Ifp
じぇんじぇん気にしてないよ。
取り合えず今日1日は初心者を装って色々デキル訳だな。
ちょうどいい機会なんで悩んでたこと質問してみる。XMLを拾って解析するコードです。
var XmlLoad = function(e:MouseEvent):void{
var myLoader:URLLoader = new URLLoader( new URLRequest(XMLのURL) );
function XmlLoadFin(e:Event):void{
/*var root_MC:MovieClip = this.root as MovieClip;
root_MC.addChild(myXML)*/ ←質問2を試してみた残骸
LoadXmlNode( XML(myLoader.data) );
↑質問1の箇所。ターゲットパス(thisやMC化したroot)を付けると動かなくなる。何故・・・
}
myLoader.addEventListener(Event.COMPLETE, xmlLoadFin);
}
XmlRead_btn.addEventListener(MouseEvent.CLICK, XmlLoad)
var LoadXmlNode = function(myXML:XML){
for each (var Node:XML in myXML.Person.(@id==2).*){
Node_txt.text += Node.name() + ":" + Node + "\n"
}
}
AS3.0です。ごちゃごちゃ書いてますが、したいことは
1.もしLoadXmlNodeの呼び出しにターゲットパスを付けるとしたら…、一体何を?(root_MCやthisでは動かず)
2.もしもmyXMLを引数でなく、どちらの関数からも直接参照できる、フィールド変数(?)として、
「関数XmlLoadFinの中から」宣言するにはどうすれば?(2.0ではverを省略すれば出来た。見辛いソースになるし廃棄された?)
3.myLoaderのListenerは、ステートメントから出て、myLoaderが消えた時に一緒にデリートされてるのかな?
動くには動くので特に困っているわけではないのだけれど、分からないので何となくスッキリしなくて。。
良ければ誰か教えてほしい、長文スマン