• ベストアンサー

XMLとの連携でnextSibilingのように順番にじゃなくて・・・

XMLでデータを読み込むFlashを作っているのですが、同じ階層にあるデータを順に切り替えていくnextSibilingまたはpreviousSibilingというのがありますが、順番に切り替えていくのではなくユーザーが読み込む位置を指定してそこから他のノードを飛ばして読むことってできますでしょうか? 例えば同じ階層に10個のノードがあったとします。現在1つ目のノードが読み込まれていて、2つ目以降のノードを飛ばしていきなり7つ目のノードを読み込みたいというような場合です。 これらはXMLを使ったスクリプトではどのようになるのでしょうか?

  • Flash
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
noname#17489
noname#17489
回答No.1

すべての子ノードが順番に格納されているNodeListは (親ノード).childNodes で参照できます。 これを使って、例えばその例なら (1つ目のノード).parentNode.childNodes[6] // 7番目 と配列のようにアクセスできます。 http://www.doraneko.org/misc/dom10/19981001/level-one-core.html#ID-1950641247 DOMのW3C勧告を日本語訳したものです。 (ただ、Flashで実装されていないものもあるかと思います。)

参考URL:
http://www.doraneko.org/misc/dom10/19981001/level-one-core.html#ID-1950641247

関連するQ&A

  • ActionScript3で複数のXMLを順番に読み込めずに最後のXM

    ActionScript3で複数のXMLを順番に読み込めずに最後のXMLだけ読んでしまいます。 あるサイトからXMLファイルを順番に読み込んで その中のデータを順番に処理する(trace(hoge);で表示する) スクリプトを書いていますが、なぜか最後のlist3.xmlの データだけが表示されてしまいます。 URLが複数だと、list1.xmlとlist2.xmlの部分だけ 以下のエラーが出るのです。 TypeError: Error #1010: 条件は未定義であり、プロパティがありません。 at _fla::MainTimeline/xmlLoad() at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::URLLoader/flash.net:URLLoader::onComplete() URLが1つだとエラーがでないので益々意味が分からず 混乱しています。何故か分かる方は教えて欲しいです。 宜しくお願いします。 //■■■■■■■■■■■■■■■スクリプトここから import flash.net.URLLoader; import flash.net.URLRequest; var xmlUrl = new Array(); xmlUrl[0] = "http://hogehoge.com/list1.xml"; xmlUrl[1] = "http://hogehoge.com/list2.xml"; xmlUrl[2] = "http://hogehoge.com/list3.xml"; var rss:XML; var xmlData:URLLoader; for each (var k:String in xmlUrl){ xmlData = new URLLoader(); xmlData.load(new URLRequest(k)); xmlData.addEventListener(Event.COMPLETE,xmlLoad); function xmlLoad(event:Event):void{ rss = new XML(xmlData.data); var hoge ; for (var i:int = 0; i <= 1; i++) { hoge = rss.status[i].text; trace(hoge); } } } //■■■■■■■■■■■■■■■スクリプトここまで

    • ベストアンサー
    • Flash
  • XMLのXPathについて

    下記のようなXMLがあるとして、XPathでdataノードを取得する場合、 /root/node/dataと/root/dataの二通りがあると思いますが、これを一つにまとめて書くことは可能でしょうか? また、dataノードに辿りつくのに、途中のパスがすべて把握できない場合(/root/AAA/data、/root/BBB/CCC/data。。。) XPathでdataノードを取得することができますでしょうか? GetElementsByTagName("data")にした方が良いでしょうか? <?xml version="1.0" encoding="UTF-8"?> <root> <node> <data>データ1です</data> </node> <node> <data>データ2です</data> </node> <data>データ3です</data> </root>

    • 締切済み
    • XML
  • jQueryでxmlデータ取得について

    jQueryでxmlのデータを取得しました。 jsで宣言した変数データがあって、 その変数のデータと xmlのタグ(ノード)が一致していた場合、 そのxmlデータの値を返したいと考えています。 xmlは以下の感じです。 タグ名はすべて異なりますが、順番に並んでいます。 <data1>aaa</data1> <data2>bbb</data2> <data3>ccc</data3> 例としては jsでの変数の値がdata1の場合は、 xmlの<data1>の値を取得したいんです。 jsでの変数の値がdata2の場合は、 xmlの<data2>の値を取得したいんです。 そんな事ってできますか? 初心者なもので、とんちんかんな質問かもしれませんが どうか、宜しくお願いいたします。

    • ベストアンサー
    • AJAX
  • CSVファイルからのデータ書き出し順番

    現在、CSV形式で保存してあるデータベースをPERLで読み込んで、htmlで表示させるというスクリプトを作りましたが、CSVファイルに保存してある順番でしか表示する事ができません。(ただ単に順に読み込ませている為) これを、例えばデータ内の項目:価格の高い順・低い順・商品の種類順などと指定したように表示させるにはどうすれば良いでしょうか? お分かりの方、教えて下さい。(もしくはヒント・提案をお願い致します。) あるいは、そのようなサンプルスクリプトをお知りでしたら教えて下さい。 宜しくお願いします。

    • 締切済み
    • CGI
  • JSPでXMLのデータ表示がしたいです

    XMLについてわからないことが多くて、困っています。 質問したいのですが、 JSPの画面でXMLのデータを表示させたいと思っています。 全部のデータを表示という場合、getDocumentElement()メソッドが あると思うのですが、例えばテキストノードのみを表示させたい場合、 <タグ>などのノードから、全テキストノードを一気に拾い出す方法は あるのでしょうか?メソッドとか。 ただ表示させるだけではなくて、データの削除とか変更などのデータ加工 もしていきたいので、最適なデータの表示がしたいんです。なので、操作 をしやすい取り出し方というか。。。 漠然とした質問で申し訳ありませんが、詳しい方がいましたら教えてもらえ ないでしょうか?お願いします。

    • ベストアンサー
    • XML
  • XSLでノードの順番取得

    XSLでノードの順番の取得は可能でしょうか? 例えば、 <data> <title>xxxxxx</title> <item>xxxxxx</item> </data> のようなXMLで、<data>タグの一番最初の要素は、<title>タグというのは 調べられます? よろしくお願いします。

    • ベストアンサー
    • XML
  • xmlに書かれた数だけムービークリップを生成したい。

    FlashCS3 AS2.0 FlashPlayerバージョン8で作成しています。 xmlをFlashに読み込む事自体は初めてではないです。 図は背景の黒い部分がHTMLで、Flash内でスクロールをさせたいイメージです。 phpから送られてくるxmlデータにコンテンツの総数が書かれた <total>タグを付け、その<total>内にある数だけMCを作成したいと思っています。 コンテンツの総数は多くても15個ほどです。 分からない事は ・xmlから受けたデータの数だけMCを生成するスクリプト (AS3だと類似したスクリプトが見つかるのですが・・・。) ・生成するにおいて、MCを配置する場所を決めたい。 (どんどん下に追加されていくように配置したい) ・コンテンツ数が1つだった場合、Flash内でスクロールが出ないようにし、コンテンツ数が複数になった場合だけスクロールが出るようにしたい。 (ステージサイズ自体は縦に2000pxくらい長くして、コンテンツがイラストの赤い枠線より大きくならなかった場合スクロールを表示させない) スクリプトでムービークリップを動的に増やさずに、 最初から複数縦に並べておいて、コンテンツ数が1個のときに2個目以降のMCは何も 表示されないようにし、スクロールしないように設定してあげて、 逆にコンテンツ数が2個目以降はスクロールを表示してあげれば簡略化できるのでしょうか・・・。 何卒よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • PHPとflashの連携

    いつもお世話になっております。 PHPとflashの連携について質問させていただきます。 1)flashでログインページを作成し、formデータをPHPへ送信 2)login.phpでユーザの認証を行い、セッションにユーザIDを登録し、XMLデータでflashに返す。 3)test.phpでセッションにユーザIDの登録があるか調べ、なければリダイレクト あれば、処理続行(別のXMLデータを返す)。 上記のような処理を行う場合、どのように実装したらよろしいでしょうか。 現状ですと、(1)はできています。 login.phpでセッションにユーザIDを登録するのですが、セッションを破棄していないのにtest.phpではセッションがなくなってしまいます。 よろしくご教示お願いいたします。

    • ベストアンサー
    • PHP
  • SimpleXMLでxmlのデータを修正するときの疑問

    PHP5でflashで扱うXMLの編集をしています。 <xml> <aaa>12345</aaa> </xml> というxmlに対し、 $nodeName = "aaa"; $xml = simplexml_load_file($xmlFile); $xml->$nodeName->title = "aiueo"; という感じで、xmlの更新をしていますが、 <xml> <aaa>12345</aaa> <aaa>67890</aaa> <aaa>24680</aaa> </xml> と、xmlのnodeが同名複数になったとき、 $xml->aaa[0]->title = "aiueo"; 相当のことを、ノード名も、何番目のノードかも、 変数をつかって実行する方法はありますか? 当然のごとく、 $nodeName[$num]は、$nodeNameの配列の値とみなされますし、 $a = $nodeName . '[' . $num . ']'; $xsml->$a->title = "aiueo"; とやると、"aaa[0]"という文字列をノード名にしてデータ追加してしまいます。 ご存知の方がいらっしゃいましたら、ご教示下さい。

    • 締切済み
    • PHP
  • C#でXMLの読み取り書き取りについて

    C#からXMLの読み取りと書き取りについて困っています。 ◆開発言語  C# (Visual Studio 2008) ◆現在の仕様  1.指定のXMLを読み込みます    ⇒ テキストストリームを使ってファイルを読み取り      XMLシリアライズにてクラスにセットしています。  2.XMLの内容を書き換えます    ⇒ 指定タグの内容を書き換えます。  3.XMLを保存します    ⇒ XMLデシリアライズを用いて      XMLの内容がセットされているクラスから      XMLファイルに出力します。 ◆問題点  ここで、「1.指定のXMLを読み込みます」にて  XML内にあるDOCTYPEや、style-sheet等の情報が  ごっそりかけてしまっています。  そのため、「3.XMLを保存します」では  DOCTYPEや、style-sheet部分がかけています。 ◆解決したい方法  シリアライズなどを用いているとXMLのノードを一つ一つ  if文で精査する必要がないので、助かっています。  既存のままで、DOCTYPEや、style-sheetを読み取ち、出力する  方法は無いのでしょうか?  ※上記が不可能であれば、その他の方法でも構いません。