XMLから抽出してみる


くっそー!!
日本まけたーーーーー

結構、いい試合していたと思うんだけどな・・・・

気を取り直して、前にXMLから何やら読み込んでみたけど
http://www.sakaiden.com/?p=3051

XMLの処理は、非常に簡単
今度は、XMLを要素ごとに抽出してみる

まずは、適当なXMLを

[xml]
<?xml version=”1.0″ encoding=”UTF-8″?>
<status>
<food>
<name>にんじん</name>
<taste>甘い</taste>
</food>
<food>
<name>ジャガイモ
</name>
<taste>ほくほく</taste>
</food>
<food>
<name>お肉</name>
<taste>ジューシー</taste>
</food>
<food>
<name>ケーキ</name>
<taste>スイート</taste>
</food>
</status>
[/xml]

相変わらず、使っているツールはこちらのツール
http://www.xmleditor.jp/

で、ここからデータを抽出する
ひとまず、こんな感じ

[as3]
///////////////////////////////////////////
//必要なものを準備
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;

//ていしー
stop();
//ローダーを準備
var xmlLoader:URLLoader = new URLLoader();//指定先から読み込み
xmlLoader.load(new URLRequest(“testXMLbasic2.xml”));
//読み込み終わったらファンクションを実行
xmlLoader.addEventListener(Event.COMPLETE, loaded);
//実行するファンクション
function loaded(eve:Event):void{
//xmlデータを入れる変数
var xmlData:XML = XML(xmlLoader.data);

//要素毎にその内容を書き出す
//nameごと
//maxscriptのfor i in objects に似た動き
for each (var obj:Object in xmlData.food.name)
{
trace(obj);
}//for end
}
[/as3]

いつも通り、URLLoaderを使って、xmlデータを読み込む
味噌はその後のforループ

イロイロさわったところ
こんな感じのforループで要素の抽出ができる
上の場合、foodの名前を各foodから抽出する

↓がそれ
test_xm2

いやー、すごい楽ちんだね~~
もちろん、配列っぽくいじる事もできる

あ、そうかstringstreamっぽくすることも出来るのかも

ひとまず、参考ファイルを


ダウンロード:XMLは楽ちん

ちなみに、XMLの基本はこちらが参考になる
Adobeのヘルプもこれくらい分かりやすくしてほしい

http://www6.airnet.ne.jp/manyo/xml/

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください