リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ XML要素のデータアクセス方法

ActionScript

XML要素のデータアクセス方法

読込んだ外部XMLファイルの特定要素にアクセスするサンプル。

【サンプル】

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player


【XMLサンプル】

<?xml version="1.0" encoding="UTF-8"?>
<写真データ>
<写真 id="001"><格納場所>img/01inu.jpg</格納場所><題名>犬</題名></写真>
<写真 id="002"><格納場所>img/02kiyuki.jpg</格納場所><題名>雪樹</題名></写真>
<写真 id="003"><格納場所>img/03hato.jpg</格納場所><題名>ハト</題名></写真>
<写真 id="004"><格納場所>img/04matumoto.jpg</格納場所><題名>松本城</題名></写真>
<写真 id="005"><格納場所>img/05yuki.jpg</格納場所><題名>雪</題名></写真>
<写真 id="006"><格納場所>img/06kumo.jpg</格納場所><題名>雲</題名></写真>
<写真 id="007"><格納場所>img/07hana.jpg</格納場所><題名>花</題名></写真>
</写真データ>


【ActionScript3.0ソース】

//外部XMLファイルの読込み設定
var xml01:XML;
var xlist01:XMLList;
var load01:URLLoader = new URLLoader();
var req01:URLRequest = new URLRequest("imgdata.xml");

load01.load(req01);//読込み開始
load01.addEventListener(Event.COMPLETE,sec1);//読込み完了でsec1関数スタート

//sec1 XMLオブジェクト生成
function sec1(event:Event) {
	xml01 = new XML(event.target.data);//XMLオブジェクトの生成
	xlist01 =  xml01.descendants();//すべての子プロパティを取得
}

//抽出テスト
function tracetest01(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01 でアクセス\n\n"+String(xml01);//全文表示
}
function tracetest02(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.child(”写真”).length() でアクセス\n\n"+String(xml01.child("写真").length());
}
function tracetest03(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.children().length() でアクセス\n\n"+String(xml01.children().length());
}
function tracetest04(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.写真[0].題名 でアクセス\n\n"+String(xml01.写真[0].題名);
}
function tracetest05(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.写真[1].題名 でアクセス\n\n"+String(xml01.写真[1].題名);
}
function tracetest06(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.写真[6].題名 でアクセス\n\n"+String(xml01.写真[6].題名);
}
function tracetest07(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.写真.(@id==”001”).格納場所 でアクセス\n\n"+String(xml01.写真.(@id=="001").格納場所);
}
function tracetest08(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.写真.(@id==”007”).格納場所 でアクセス\n\n"+String(xml01.写真.(@id=="007").格納場所);
}
function tracetest09(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.child([0]) でアクセス\n\n"+String(xml01.child([0]));
}
function tracetest10(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.child([0]) でアクセス\n\n"+String(xml01.child([6]));
}
function tracetest11(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[0].name() でアクセス\n\n"+String(xlist01[0].name());
}
function tracetest12(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[1].name() でアクセス\n\n"+String(xlist01[1].name());
}
function tracetest13(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[2].name() でアクセス\n\n"+String(xlist01[3].name());
}
function tracetest14(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[0].parent().name() でアクセス\n\n"+String(xlist01[0].parent().name());
}
function tracetest15(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.child(”写真”) でアクセス\n\n"+String(xml01.child("写真"));
}
function tracetest16(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[0].nodeKind() でアクセス\n\n"+String(xlist01[0].nodeKind());
}
function tracetest17(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[1].nodeKind() でアクセス\n\n"+String(xlist01[1].nodeKind());
}
function tracetest18(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xlist01[2].nodeKind() でアクセス\n\n"+String(xlist01[2].nodeKind());
}
function tracetest19(event:MouseEvent):void {
	tf1.text = "";
	tf1.text = "xml01.toString() でアクセス\n\n"+xml01.toString();//文字列に変換して表示
}
function tracetest20(event:MouseEvent):void {
	XML.ignoreComments = false;
	tf1.text = "";
	tf1.text = "xml01.toXMLString() でアクセス\n\n"+xml01.toXMLString();//文字列に変換して表示
}

bt01.addEventListener(MouseEvent.CLICK, tracetest01);
bt02.addEventListener(MouseEvent.CLICK, tracetest02);
bt03.addEventListener(MouseEvent.CLICK, tracetest03);
bt04.addEventListener(MouseEvent.CLICK, tracetest04);
bt05.addEventListener(MouseEvent.CLICK, tracetest05);
bt06.addEventListener(MouseEvent.CLICK, tracetest06);
bt07.addEventListener(MouseEvent.CLICK, tracetest07);
bt08.addEventListener(MouseEvent.CLICK, tracetest08);
bt09.addEventListener(MouseEvent.CLICK, tracetest09);
bt10.addEventListener(MouseEvent.CLICK, tracetest10);
bt11.addEventListener(MouseEvent.CLICK, tracetest11);
bt12.addEventListener(MouseEvent.CLICK, tracetest12);
bt13.addEventListener(MouseEvent.CLICK, tracetest13);
bt14.addEventListener(MouseEvent.CLICK, tracetest14);
bt15.addEventListener(MouseEvent.CLICK, tracetest15);
bt16.addEventListener(MouseEvent.CLICK, tracetest16);
bt17.addEventListener(MouseEvent.CLICK, tracetest17);
bt18.addEventListener(MouseEvent.CLICK, tracetest18);
bt19.addEventListener(MouseEvent.CLICK, tracetest19);
bt20.addEventListener(MouseEvent.CLICK, tracetest20);
last update 2009.2.25
参考・出典等
Riptac 外部XMLファイルの読込み方法

▲page top

topmemoblogtestaboutmail
Copylight(C)2008 Riptac. All Rights Reserved.