Namespace付きでXMLのパースがうまくいかない。
ActionScript3.0の目玉のひとつであります、E4Xをマスターしようと、AmazonAPIを利用したサンプルを作っているのですが、うまく動かなくて先に進まない・・・。
以下は、AmazonWebServiceを使ったときに帰ってくるXMLです。xmlnsって指定してあると、E4Xでうまくパースしてくれません。
var response:XML =trace(response); //これは表示される。 trace(response.Items); //書き方合っているはずですがダメ。 trace(response.Items.Item[0]); //書き方合っているはずですがダメ。 trace(response.Items.Item[0].ASIN); //1932394613と出るはずですがダメ。 0.0959739685058594 1932394613 http://www.amazon.com/exec/obidos/redirect?tag=ws%26link_code=xm2%26camp=2025%26creative=165953%26path=http://www.amazon.com/gp/redirect.html%253fASIN=1932394613%2526tag=ws%2526lcode=xm2%2526cID=2025%2526ccmID=165953%2526location=/o/ASIN/1932394613%25253FSubscriptionId=1TX5PWPN2NFKESYQTW02 Dave Crane Eric Pascarello Darren James Book Ajax in Action 0596007124 http://www.amazon.com/exec/obidos/redirect?tag=ws%26link_code=xm2%26camp=2025%26creative=165953%26path=http://www.amazon.com/gp/redirect.html%253fASIN=0596007124%2526tag=ws%2526lcode=xm2%2526cID=2025%2526ccmID=165953%2526location=/o/ASIN/0596007124%25253FSubscriptionId=1TX5PWPN2NFKESYQTW02 Elisabeth Freeman Eric Freeman Bert Bates Kathy Sierra Book Head First Design Patterns
ちなみに、xmlnsを外すとちゃんと表示されます。Flickrは、レスポンスのXML内にxmlnsが指定されていないので問題なくパースできます。
あきらめてGoogleがYahooAPI使うか・・・。
仕事でも使いそうなので、FlexCodersMLに投げてみました。
誰かレス頼む!!