先日のエントリーで「後で時間があるときに簡単な解説書きます。」と書いたので約束を果たします。
ActionscriptでXMLを扱う時はXPATHを使ってます。これを使うとXMLを読み込んで配列に展開してくれるので扱いが凄く楽になります。
簡単な使い方だけを解説します。ホントはもっと色々便利な使い方があるようなので覚えたら解説しますね。ちなみにこの写真日記を表示してるFlash(→見る)や、ニュース速報(→見る)でもこのXPATHを使ってRSSをパースしてます。
その前にここからXPath4AS2というActionScriptでXpathを使えるようにするライブラリをダウンロードしてください。
こんなデータがあるとします。
item.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<items>
<item name="iMac G5" price="150000">
<imageURL>images/imac.jpg</imageURL>
</item>
<item name="iBook G4" price="100000">
<imageURL>images/imac.jpg</imageURL>
</item>
</items>
このXMLへのアクセス方法
var myDoc = new XML();
myDoc.onLoad = getXML;
myDoc.load("item.xml");
function getXML():Void
{
var imageURL:Array = XPath.selectNodes(myDoc, "items/item/imgURL/text()");
var itemName:Array = XPath.selectNodes(myDoc, "items/item/@name/text()");
var itemPrice:Array = XPath.selectNodes(myDoc, "items/item/@price/text()");
}
読み込んだ後はこんな感じで複数のアイテムや属性値にもアクセス出来ます。
for(var i = 0; i < itemName.length; i++) {
trace("商品名:" + itemName[i]);
trace("価格:"+itemPrice[i]);
trace("商品画像のURL:" +imageURL[i]);
}
★おすすめ参考書★
●机の上に常備してます。
→FLASH ActionScript辞典 第2版
●日本語でOOP オブジェクト指向プログラミングを本格的に学ぶにはこれしかない。
→FLASH OOP
●英語が出来る方はこっちがおすすめです。Colin Moockが書いたActionScript2.0のバイブル。
→Essential Actionscript 2.0
●XMLあたりも基礎から勉強しとかないとやばそう。
→XML関連本人気ランキング