XML操作
XML操作の仕様がAS2とAS3では変わっていたことに昨日一日かかってようやく知った。orz
AS3になって結構変わった
AS2の頃、firstChild等でエレメントにアクセスしていたが、AS3になって随分変わったようだ。
例として以下を挙げる。
var xml:XML = <data> <item id='1'> <name>ギブソン・レスポール・スタンダード</name> <price>250,000</price> </item> <item id='2'> <name>もう一声ギター</name> <price>50,000</price> </item> </data>
上記XMLに対して、もう一声ギターの値段を取得するためには、以下ような表記となる。
//ex1 xml.item.(name=="もう一声ギター").price //50,000 //ex2 xml.item[1].price //50,000
『.エレメント名』でアクセスできると言うのは感動だった。
『(条件)』も使用できるというのも感動だ。
if文のように>=等も使用できるみたい。
また、itemの属性値を取得する際には、以下の表記となる。
xml.item.@id
//12
『@属性名』でアクセスができる。
少し疑問も残るが。。。*1
*1:itemの属性なのに『.』が必要なのがピンとこない。それなら『.@属性名』でアクセスができると言われた方が幾分かマシだなぁ。