メイン どこでもFlash【携帯向けFlash関連】 flashlite2.0でXMLからimg,txtを読み込みたいのですが | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kaimu | Åê¹ÆNo.33535 投稿日時: 2007-6-1 11:29 |
新米 居住地: 投稿: 3
使用環境:
WinXP,Flash8 |
flashlite2.0でXMLからimg,txtを読み込みたいのですが 初めて書き込みます。
携帯でXMLのimg,txtのデータを獲得したいのですが。 ボタンを押すと更新される用にしているのですが プレビューの時はうまく行くのですが携帯で見ると エラーがでてしまいます。 いろいろ調べた結果firstChildを使うとデータが獲得できないので firstChildを使わないでXMLのtxt,imgデータを取り出す方法をさがしているのですがいい方法はないでしょうか? よろしくお願いします。 on (press) { var doc:XML = new XML(); doc.ignoreWhite = true; doc.onLoad = function(success){ treeRootNode = doc.firstChild; shopCount = treeRootNode.childNodes.length; shopNode = treeRootNode.firstChild; txt = shopNode.firstChild.nodeValue; img = shopNode.attributes.image; targetClip.loadMovie(img); } doc.load("slides1.xml"); } 取り出したいデータ("slides1.xml"); <?xml version="1.0" encoding="UTF-8"?> <Photos> <picture image="image/im_01.jpg">ペンギン</picture> <picture image="image/im_02.jpg">チーター</picture> <picture image="image/im_03.jpg">熱帯魚</picture> <picture image="image/im_04.jpg">熱帯雨林</picture> </Photos> |
コマツ | Åê¹ÆNo.33566 投稿日時: 2007-6-5 0:46 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
windows7 CS5.5 CS6 |
Re: flashlite2.0でXMLからimg,txtを読み込みたいのですが kaimu さん、こんばんは。
まずは要点を絞ってみてはいかがでしょうか? ・XMLデータが正常に読み込めているのか? ・また、loadMovieはonLoadのタイミングで読み込めるのか? これらを分けて考えたほうが良いかと思います。 (日本の携帯電話の場合、loadMovieはボタンの押し下げが無いと実効されなかったりします。また、エミュレータにあるような海外の機種は問題ないかもしれません。)
例えば上記のようにしてみてください。 内容がそのまま、ダイナミックテキストフィールドに表示されるかと思います。 文字化けや変なゴミみたいなテキストは入っていませんか? 私が以前、Flash Lite2.0が出た当初に自分の実機でXMLを読み込むチェックをした際に変な挙動が出たことがあります。 以下その時の実験結果です。 ----------------------------------------------------- 実機は、au W43H 確認場所は、携帯ブラウザ上(ezweb上)です。 文字コード Shift-JIS、EUC、UTF-8 改行コード CR、CR+LF、LF 文書の内容 XML宣言あり、XML宣言なし、テキストのみ(XMLタグなしという意) System.useCodepage true、宣言なし 上記の組み合わせ、54通りにて調べてみました。 XMLファイルに関しては、日本語込みです。 Flash側の宣言で、System.useCodepageの宣言なし →全ての組み合わせで、日本語部分が文字化けしました。 (UTF-8も文字化けするのは変ですよね?) Flash側の宣言で、System.useCodepageをtrueに Shift-JIS →日本語部分文字化け EUC →日本語部分文字化け UTF-8 →文字化けなし System.useCodepageをtrueにした上、さらにUTF-8の文字コードでないと日本語部分が化けるという結果になりました。 FlashがUnicodeベースで、携帯電話がShift-JISベースだからかもしれません。 また、UTF-8だけは、読み込んだXMLデータに「?」マークが追加されたりしました。 その場所は、 XML宣言してある→XML宣言の後に「?」が追加される XML宣言していない→先頭に「?」が追加される テキストのみ→先頭に「?」が追加される もしかすると、このあたりのせいで、XMLをパースする上で問題がでるかもしれません。 ※この結果はコマツが実験した機種においての事ですので、動作を保障するものではありません。参考程度に考えください。 |
kaimu | Åê¹ÆNo.33595 投稿日時: 2007-6-5 16:59 |
新米 居住地: 投稿: 3
使用環境:
WinXP,Flash8 |
Re: flashlite2.0でXMLからimg,txtを読み込みたいのですが コマツさん ありがとうございます。
XML宣言してある→XML宣言の後に「?」が追加される が原因だと思います。 output_txt.text = this.firstChild; で出力しても「?」しかでないので「?」から先を表示するにはどうすればいいのでしょうか? |
コマツ | Åê¹ÆNo.33605 投稿日時: 2007-6-5 23:51 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
windows7 CS5.5 CS6 |
Re: flashlite2.0でXMLからimg,txtを読み込みたいのですが output_txt.text = this;
↑こちらの結果は見ましたか? XML宣言のすぐ後に「?」が入っているため、「?」がfirstChildと受け取られたのでしょう。 「?」があるから、firstChildがうまく取得できないのであれば、スクリプトで取ってしまってはいかがでしょうか?
やや強引ではありますが、上記のようにXMLデータを一度Stringデータに戻して、「>?<」と「><」を差し替えるようなやり方はいかがでしょう? 差し替えた後、XMLとして戻してあげれば、firstChildのデータも取れるかと思います。 |
kaimu | Åê¹ÆNo.33627 投稿日時: 2007-6-7 17:53 |
新米 居住地: 投稿: 3
使用環境:
WinXP,Flash8 |
Re: flashlite2.0でXMLからimg,txtを読み込みたいのですが コマツさん ありがとうございます。
「?」を取ることでうまくXMLを読み込むことが出来ました。 TXTはうまく表示は出来たのですがIMGの方がブレビューだとうまく行きますが実機では読み込めませんでした。 on (press) { loadMovie ("image/im_01.jpg",_root.targetClip); } 普通に読み込みだと表示されるのですが、 「imagePath」に代入したimage/im_01.jpgでは読み取り出来ませんでした。 loadMovie (imagePath,_root.targetClip); 変数へ代入するところとボタンを分けてグローバル関数で 読み込んでみたのですが。ダメでした。 変数の中身も確認したのですがimage/im_01.jpgの状態でした。 loadMovie (_global.imagePath,_root.board); なにがじゃましているのか検討がつきません、 アドバイスよろしくお願いします。 |
コマツ | Åê¹ÆNo.33630 投稿日時: 2007-6-7 20:29 |
職人 居住地: 東京都葛飾区 投稿: 356
使用環境:
windows7 CS5.5 CS6 |
Re: flashlite2.0でXMLからimg,txtを読み込みたいのですが 引用:
TXTはうまく表示は出来たのですがIMGの方がブレビューだとうまく行きますが実機では読み込めませんでした。 ブレビュー? Flash8上のシュミレータで確認した場合、うまくいったということでしょうか? 引用: on (press) { 上記の内容どおりでしたら、私の環境では読み込めます。 引用: なにがじゃましているのか検討がつきません、 私もkaimu さんが書いている情報だけでは検討つきません。 もう少し情報が必要に思います。 実際に使用している、ActionScriptは on (press) { loadMovie (imagePath,_root.targetClip); } ↑こちらだけですか?他にも書かれていませんか? 冒頭の質問にあるように、XMLを読み込んで、onLoadのタイミングでloadMovieを実行しているということはありませんか? もしそうだった場合は、恐らく読み込めないのは実機の方の仕様かと思います。 日本の実機はloadMovieはユーザーの操作、具体的には決定キーやダイヤルキーを押し下げた時にしか実行されませんので。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |