ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Flash Action Scriptコミュの外部XMLの行頭に「,」がついてしまう

  • mixiチェック
  • このエントリーをはてなブックマークに追加
お世話になります。
問題は解決したのですが
原因がわからないので今後のために質問させてくださいm(_ _)m

今Flashへxmlを表示させています。
xmlの表示自体には全く問題がないのですが、
2行目以降の行頭に「,」がついてしまう現象が起こっていました。
検索しても「,」は見つからず、
traceではそういった問題は見受けられません。
表示された部分だけがおかしいのです。

Actionscriptには以下のように記述されていました。

onClipEvent (load) {
System.useCodepage = true;
var indexXML:XML = new XML();
indexXML.ignoreWhite = true;
indexXML.load("URL.xml");
indexXML.onLoad = function():Void {
var nodeList:Array = this.firstChild.childNodes;
_root.news.my_text = nodeList[0].childNodes;
trace("indexXML="+indexXML);
trace("0="+nodeList[0]);
trace("1="+nodeList[1]);
};
}

「nodeList[0].childNodes;」を「nodeList[0]」のみにすると
「,」は消えたのですが、
childNodesが入るとどうして「,」が行頭へついてしまうのでしょうか。

変な質問ですみません^^;

コメント(3)

スイマセン。ちゃんと検証していませんが...。
単純に配列だからでは?

var hoge:Array = [0, 1, 2, 3];

trace(hoge);
// 結果「0,1,2,3」。配列の要素が , 区切りで出力される

trace(hoge[0]);
// 結果「0」

for (var i:Number=0; i<hoge.length; i++) {
trace(hoge[i]);
// 結果「0」「1」「2」「3」
}
KKRさんのおっしゃるとおり、childNodesが配列であるのに、そのインデックス値を指定していない為と思われます。

正しく記述するならば
nodeList[0].childNodes[0];
あるいは
nodeList[0].firstChild;
でしょう。

これは蛇足ですが、XMLのノードを格納するならば、Arrayに格納するのではなくXMLNodeデータ型に格納するほうがよりわかりやすく思います。
>>KKRさん
なるほど、配列のせいでしたか・・・(´д`;)
勉強になりました!
ありがとうございます。^^

>>ウィスキーをたくさん
省略できるのはfirstChildではなく
childNodesの方だったのですね・・・(汗
今回はじめてXMLを使うので混乱してました。
勉強不足です。^^;

>XMLNodeデータ型
早速調べてみようと思います^^
ご丁寧にありがとうございます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash Action Script 更新情報

Flash Action Scriptのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。