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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     XMLのidタグ:指定したidのノードを読込みたい。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.21345
投稿日時: 2005-11-7 22:40
XMLのidタグ:指定したidのノードを読込みたい。
XMLのidタグについて質問です。

今までの質問で
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=3688&forum=6&post_id=20188&PHPSESSID=feab14efe3d6e858e5826cbace78de06#forumpost20188
こういうものがありましたが、

このidタグを利用したいのです。

<lcd>
	<screen id="00001">
		<object type="img" set="screen\00001.png"  x="0" y="0"/>
		<object type="txt" set="bbb" x="10" y="10" />
	</screen>
	<screen id="00002">
		<object type="img" set="screen\00001.png"  x="0" y="0"/>
		<object type="txt" set="aaa" x="10" y="10" />
	</screen>
	<screen id="00004">
		<object type="img" set="screen\00001.png"  x="0" y="0"/>
		</screen>
</lcd>

というXMLファイルで、
上から順に”nextSibling”で読込んでいくのではなく、
id="00002"を読込む というようにしたいのですが、
どのように記述すればよろしいでしょうか?

質問で説明不足な点があるとは思いますが、
回答よろしくお願いします。m(__)m
Fla4man
Åê¹ÆNo.21347
投稿日時: 2005-11-7 23:55
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: XMLのidタグ:指定したidのノードを読込みたい。
screenのノードに移動したあと
nodename.attributes.id
で取得できると思います。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

植木友浩
Åê¹ÆNo.21349
投稿日時: 2005-11-8 0:30
案内係
居住地: 東京
投稿: 640
使用環境:
Pro +
.Tiger +
Re: XMLのidタグ:指定したidのノードを読込みたい。
XPathを使うとできますね。
http://www.xfactorstudio.com/


----------------
Tomohiro Ueki
RSSリーダー公開中
チーム-10kg達成

ゲスト
Åê¹ÆNo.21352
投稿日時: 2005-11-8 16:07
Re: XMLのidタグ:指定したidのノードを読込みたい。
自己解決できました!!
↓のXMLを読込みます。
<lcd>
 <screen id="a00001">
  <object type="img" set="screen\00001.png"  x="0" y="0"/>
 </screen>
 <screen id="a00002">
  <object type="img" set="screen\00002.png"  x="0" y="0"/>
 </screen>
</lcd>

↓のコードはイロイロ省略してあります。重要な所だけ(AcsionScript)
screenData_xml.onLoad =startOutone;
screenData_xml.load("XML/screen.xml");
function startOutone(success) {
 if (success == true) {
  trace(screenData_xml.a00002.firstChild);
  }
}

出力結果
<object type="img" set="screen\00002.png"  x="0" y="0"/>

id名は数字では駄目みたいです。

>Fla4manさん
はい。確かに、nodename.attributes.idでid名は取得できます。
やはり質問の仕方か説明不足でしたm(__)mスイマセン。

”ダイレクトに、idが001番のfirstChildを取得”したい
という内容でした。

>案内係さん
XPathというものがあるのですね。
これもイロイロと使えそうです!

ご回答有難うございました
Fla4man
Åê¹ÆNo.21358
投稿日時: 2005-11-8 22:31
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: XMLのidタグ:指定したidのノードを読込みたい。
今回の場合そういう主旨ならば
lcdノードに対してchildNodes配列をアクセスすればいいのでは無いですか?

配列なので0からですけれど
その場合「id」のattributeは無くていいようにも思います。

逆にノードのidがでたらめに並んでいる場合
lcdの方にその並び順をアトリビュートとして持たせるというのも手だと思いますが
管理用別配列を持つのも手だとおもいます。

主旨に沿っているか分かりませんが参考までに


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

ゲスト
Åê¹ÆNo.21375
投稿日時: 2005-11-9 11:31
Re: XMLのidタグ:指定したidのノードを読込みたい。
>Fla4manさん

確かに、idを使わなくともアクセスできますが、
idのつけ方が、
a001,a002,a003... とするのではなく、
a001,ab045,a03d...など、一見規則性のないような感じで、
100?300個ぐらい付ける予定なんです。

なので、idで直接取り出せたら便利なのにな?と思って
投稿してみましたm(__)m


が、しかし
パブリッシュがFlash8だとidも他の属性と同じ扱いになってしまって、
指定できなくなってしまいました;
パブリッシュがFlash7だと出来たのに
pngを読込みたくて、せっかくFlash8を買ったのに。。。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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