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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     XMLの読み込みが不安定になる
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
whirlpower
Åê¹ÆNo.38565
投稿日時: 2008-4-26 15:20
新米
居住地: 東京
投稿: 4
使用環境:
winVISTA FLASHCS3
XMLの読み込みが不安定になる
はじめまして。whirlpowerと申します。

ActionScript3.0でどうしても解決できない問題があります。

XMLファイルをスクリプト上でロードしようとすると、
読み込めたり、読み込めなかったりで動作が不安定になるのです。
これは何が原因でしょうか。

読み込めなかったときは以下のエラーがでます。
「ルートエレメントに続くドキュメントのマークアップは整形式でなければなりません。 」

たまに、こちらもでます。
「XML パーサエラー : エレメントの形式が正しくありません。」

読み込めなかった場合には以下の方法で読み込めたりします。
・そのままもう一度実行
・エラーで停止しているFlashプレイヤーを閉じてから実行
・FLASH CS3自体を立ち上げなおしてから実行
・XMLを変更なしで上書き保存してから実行。

まったく関係の無い部分を編集中でも、突然読み込めない状態になります。
全体のコードの規模が大きくなるにつれて読み込めないケースが
増えてきているように思います。

FLASH CS3上からデバッグモードで実行しています。
WindowsXPです。
皆様のお知恵をお貸しください。
よろしくお願いいたします。


(XMLをロードするコードは以下の通りです。)

public class XMLloader extends EventDispatcher
{
public static const COMPLETE:String = "complete";
var loader:URLLoader;
var xml:XML;

function XMLload( url:String )
{
loader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener( Event.COMPLETE, loaded );
var urlReq:URLRequest = new URLRequest(url);

loader.load(urlReq);
}

function loaded( event:Event ):void
{
try{
xml = new XML(loader.data);
dispatchEvent(new Event(COMPLETE));
}
catch( err:TypeError )
{
trace(err.message);
}
}
}
ニノミヤ カズノリ
Åê¹ÆNo.38566
投稿日時: 2008-4-26 16:23
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: XMLの読み込みが不安定になる
XML の文字コードが Shift-JIS ではありませんか?
外部XMLファイルの読み込みについて
whirlpower
Åê¹ÆNo.38567
投稿日時: 2008-4-26 16:37
新米
居住地: 東京
投稿: 4
使用環境:
winVISTA FLASHCS3
Re: XMLの読み込みが不安定になる
ご返答ありがとうございます。

XMLファイル、.asファイルともに、使用してるファイルは
すべて、「UTF-8」を使用しています。

ニノミヤ カズノリ
Åê¹ÆNo.38569
投稿日時: 2008-4-26 17:06
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: XMLの読み込みが不安定になる
引用:
whirlpowerさんは書きました:
XMLファイル、.asファイルともに、使用してるファイルは
すべて、「UTF-8」を使用しています。

と言う事は、System.useCodePage プロパティの設定も行っていない訳ですよね。
私の経験上、この状況で読み込みが不安定になった事がありません。

whirlpower さんが書かれたコードを写して何回かテストを行ってみましたが、こちらの環境ではエラーになりませんでした。
whirlpower
Åê¹ÆNo.38571
投稿日時: 2008-4-26 17:47
新米
居住地: 東京
投稿: 4
使用環境:
winVISTA FLASHCS3
Re: XMLの読み込みが不安定になる
すばやいご返答と、テストしていただいてありがとうございます。

自分の周辺の詳しい方に伺っても、全員この問題の経験はないとのことでした。
検索で探してもこのケースが見つからないことから、
非常に稀なケースなのかもしれません。

画像のローダは正常に動いており、XMLのローダだけ不安定になっています。
まったく読めないわけでもなく、自分の環境では10%程度の再現確立です。

あまり詳しくはないので憶測になりますが、こんな原因を考えてみました。
・XMLをURLLoaderを介してのローカルパスの指定していることが問題。
・再現が不安定なことから、読み込み時の時間や、他の処理とのバッティングに影響されている。
・URL読み込みのため、セキュリティの設定が影響している。
・読み込み前にローダオブジェクトがガーベージコレクタに掃除されてしまっている。

現在の作業がひと段落したら、
この不具合に絞って詳しく検証してみようと思います。

ひろゆき
Åê¹ÆNo.38573
投稿日時: 2008-4-26 22:44
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: XMLの読み込みが不安定になる
xml内に、思わぬコードが紛れている可能性も含めて、
xml自体から検証された方が良いように思います。

ちゃんと「UTF-8」になっているとのことですが、
BOM付きになっていないで、上手く行っていないということも考えられます。


とりあえず、フォーラム内を「整形式」で検索すると、
次のようなスレッドがありました。

xmlの読み込み(シフトJIS)
RSSパースエラー


----------------
質問する際は、回答者に具体的な情報を与えてください。

whirlpower
Åê¹ÆNo.38600
投稿日時: 2008-4-29 0:41
新米
居住地: 東京
投稿: 4
使用環境:
winVISTA FLASHCS3
Re: XMLの読み込みが不安定になる
ひろゆき様、返答ありがとうございます。

BOMというものを知りませんでした。
このBOMをつけてみたところ、読み込みの調子よくなりました。
まだテスト期間が短いため確証はもてませんが、
現在は安定しています。

過去ログを拝見したところ、
共通した怪しい点として、
「大きなXMLファイルの読み込みが不安定になる」
というものがあったので、不安定になるのはここがトリガっぽいです。

xmlファイルも確認してみました。
ファイルが巨大なため(2000行ほど)、状況からの推測になりますが、以下の点からXMLの内容的には問題がなさそうです。
・XML生成スクリプトを見直し、問題箇所は見当たらなかった。
・XMLエディタなどでも読み込める。
・FLASH上で、問題なく実行できることも多い。

あと、BOMについて調べてみたところ、
XMLの生成時に問題がある可能性もありました。

XMLの書き出しにillustratorCS3からJAVASCRIPTを使用して
書き出しているのですが、
adobeのJAVASCRIPTがBOMつきではないと、正常に動作しない
ことがあるようです。


ニノミヤ様、ひろゆき様、
お知恵をお貸しいただいてありがとうございました。
これでなんとか前進できそうです。

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

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