XML 変数の初期化Flash Player 9 以降、Adobe AIR 1.0 以降 XML オブジェクトに対しては、次のようにして XML リテラルを割り当てることができます。 var myXML:XML = <order> <item id='1'> <menuName>burger</menuName> <price>3.95</price> </item> <item id='2'> <menuName>fries</menuName> <price>1.45</price> </item> </order> また、次のコードに示すとおり、XML データを含んだストリングから new コンストラクターを使用して XML オブジェクトのインスタンスを作成することもできます。 var str:String = "<order><item id='1'><menuName>burger</menuName>" + "<price>3.95</price></item></order>"; var myXML:XML = new XML(str); ストリング内の XML データが整形式でない場合(終了タグが欠落している場合など)は、ランタイムエラーが発生します。 また、次のように XML オブジェクトに対してデータを参照で(他の変数から)渡すこともできます。 var tagname:String = "item"; var attributename:String = "id"; var attributevalue:String = "5"; var content:String = "Chicken"; var x:XML = <{tagname} {attributename}={attributevalue}>{content}</{tagname}>; trace(x.toXMLString()) // Output: <item id="5">Chicken</item> 指定した URL から XML データをロードするには、次のように URLLoader クラスを使用します。 import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; var externalXML:XML; var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest("xmlFile.xml"); loader.load(request); loader.addEventListener(Event.COMPLETE, onComplete); function onComplete(event:Event):void { var loader:URLLoader = event.target as URLLoader; if (loader != null) { externalXML = new XML(loader.data); trace(externalXML.toXMLString()); } else { trace("loader is not a URLLoader!"); } } ソケット接続から XML データを読み取るには、XMLSocket クラスを使用します。 詳しくは、『Adobe Flash Platform 用 ActionScript 3.0 リファレンスガイド』の XMLSocket クラスの項を参照してください。 |
![]() |