1

私は XML オブジェクトを頻繁に使用して、データを Flash にロードします。XML オブジェクトがフラッシュされたら、それを文字列 (myData.toString()) に変換し、区切り文字を使用して解析します。

<>ただし、次のようなタグを含む文字列データを読み込んでいる場合:

Hi please state <name> <address> 

<>XMLはカプセル化を新しいノードとして扱うため、これは受信データを台無しにします。だから私が得るものは次のとおりです:

Hi please state 

その後の他のすべてはなくなっています..

出力前に PHP で <> タグを安全な文字に変換できますが、Flash AS2 に、XML を純粋な文字列のみとして読み取るためにこれを行う関数があるかどうか疑問に思っています。

私はすでに試しました: var headers:Array = new Array("Content-Type", "text/plain", "X-ClientAppVersion", "2.0"); my_xml.addRequestHeader(ヘッダー);

しかし、これはうまくいきませんでした。

LoadVars代わりにそうしますが、これを XML で機能させる必要があります。これは、XMLLoadVarsが着信データにまったく触れないのに対し、着信文字列を urlencoded に変換するためです (私のデータには特殊文字を含めることができ、<>壊れることはありません。壊れるだけです。

4

1 に答える 1

2

プレーン テキスト データが必要な場合、XML ローダーを使用して XML ファイルを解析するのはなぜですか?

とにかく、その xml ローダーの使用を主張する場合は、次のいずれかを実行できます。

  • xml データをCDATAにカプセル化します。これにより、ノードの解析が妨げられます。
  • XML を適切にフォーマットしますルート ノードを文字列変数に割り当てると、すべてのノードを含め、すべてが再帰的に書き出されるためです。

編集: loadVars を使用してプレーン データをロードする場合、トリックは onLoad の代わりに onData を使用することです。テキスト ファイルからのプレーン テキスト ロードの例 (変数を var=value としてロードするのではなく) ( as2 言語リファレンスの例:

var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
    if (src == undefined) {
        trace("Error loading content.");
        return;
    }
    trace(src);
};
my_lv.load("content.txt", my_lv, "GET");

ここでは、actionscript 2 で一部のテキスト データをロードする方法のオプションの完全なリストも参照できます: http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context =LiveDocs_Parts&file=00000886.html

于 2013-01-24T11:18:28.813 に答える