トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     XMLのノードが消えません
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ryotaro
Åê¹ÆNo.43103
投稿日時: 2009-8-8 14:37
新米
居住地: 東京
投稿: 2
使用環境:
WinXP, Flash CS3,
XMLのノードが消えません
スミマセン。XMLに関してちょっと質問です。
下記のXMLで、値が0のノードを削除しようとスクリプトを書いたのですが、
消したい2つのうち1つしか消えてくれません。。
(同様の方法で属性とかは全部消えてくれるのですが・・。)

var xml:XML = XML(
<xml>
<all>
<parts nam="aaa">
<param pnam="a">10</param>
<param pnam="b">10</param>
</parts>
<parts nam="bbb">
<param pnam="a">0</param>
<param pnam="b">0</param>
</parts>
</all>
</xml>
);

for(var a in xml.all.parts.param){
if(xml.all.parts.param[a] == 0){
delete(xml.all.parts.param[a]);
}
}
trace(xml);

結果--------------------------------
<xml>
<all>
<parts nam="aaa">
<param pnam="a">10</param>
<param pnam="b">10</param>
</parts>
<parts nam="bbb">
<param pnam="b">0</param>  ←残っちゃう
</parts>
</all>
</xml>
------------------------------------

どなたか間違いを教えていただけますでしょうか。
よろしくおねがいします。

Windows XP
Flash CS3
AS3
です。
野中文雄
Åê¹ÆNo.43105
投稿日時: 2009-8-8 22:12
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: XMLのノードが消えません
まず、今何が起きているのかを、よく確かめることでしょう。
引用:
ryotaroさんは書きました:
var xml:XML = XML(
	<xml>
		<all>
			<parts nam="aaa">
				<param pnam="a">10</param>
				<param pnam="b">10</param>
			</parts>
			<parts nam="bbb">
				<param pnam="a">0</param>
				<param pnam="b">0</param>
			</parts>
		</all>
	</xml>
);
var lastID:int = 0;
for (var a in xml.all.parts.param) {
	trace(a, xml.all.parts.param[a], 
	xml.all.parts.param[lastID], 
	xml.all.parts.param[lastID].@pnam);
	if (xml.all.parts.param[a] == 0) {
		trace(delete (xml.all.parts.param[a]));
		trace(xml.all.parts.param);
	}
	lastID = a;
}

どなたか間違いを教えていただけますでしょうか。


----------------
 

ryotaro
Åê¹ÆNo.43291
投稿日時: 2009-8-29 4:18
新米
居住地: 東京
投稿: 2
使用環境:
WinXP, Flash CS3,
Re: XMLのノードが消えません
返信が遅くなり大変申し訳ございません。
自分のメールアドレスに返信の通知が来るのかと
誤解していました。

ノードを消す度にIDが変わっているのに
気づいていなかったんですね。。
deleteした際に消した回数をカウントして、
IDから引いていけばうまくいきそうです。
(他にやり方があるのかもしれませんが)

よく考えると当然の事でお恥ずかしい限りですが、
ご指摘頂くまで全く気がつきませんでした。

どうもありがとうございました。
またよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops