ASP.NET コントローラー:
// GET api/assets/5
public string Get(int id)
{
... <some DB init here>
string sResult = (string)oCmd.ExecuteScalar();
return sResult;
}
AS3 受信機:
private function btnLoad_Click():void
{
try
{
var urlRequest:URLRequest = new URLRequest("http://192.168.55.100/getimage/api/assets/1");
oUrlLoader = new URLLoader();
oUrlLoader.dataFormat = URLLoaderDataFormat.TEXT;
oUrlLoader.addEventListener(Event.COMPLETE, onXMLDataLoaded, false, 0, true);
oUrlLoader.load(urlRequest);
}
catch (ex:Error) {}
}
protected function onXMLDataLoaded(evt:Event):void {
try
{
var sData:String = oUrlLoader.data.toString();
editor.paste_fromserver( XML(sData));
}
catch (ex:Error) { trace(ex.message); }
}
今私がやろうとしているのは、文字列を XML として解析することですが、「エラー #1090: XML パーサーの失敗: 要素の形式が正しくありません」というエラーだけが表示されます。
私が見つけたのは、「Watch Expression」で oUrlLoader.data を見ると、そこに値がありますが、sData = oUrlLoader.data = """" (空の文字列ですか?)。
oUrlLoader.data.toString() も試してみました - 助けにはなりませんでしたが、ウォッチ式が少し変更されました。
ウォッチ式の値の oUrlLoader.data が設定されているのに、コード内の同じ oUrlLoader.data が文字列を返さない理由はありますか?
PS これは実際には文字列値 (SVG 画像) であり、バイナリ データではありません。as3用のFlash Builderを使用しています。
編集:
へへへ、sDataもウォッチ式で値を持っています。データは次のとおりです。
"<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg version=\"1.2\" id=\"svg2\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:svg=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><circle cx=\"284\" cy=\"310\" r=\"150\" id=\"untitled\" transform=\"matrix(1,0,0,1,-37,-22)\" style=\"opacity:1;stroke:#44F247;fill:#F087CA;fill-opacity:1;stroke-opacity:0.54;stroke-width:35.1;stroke-miterlimit:3;stroke-linecap:none;stroke-linejoin:round;\"/></svg>"
このデータをコピーしてコードに直接貼り付けると機能しますが、この urlLoader を使用すると機能しません... :(
EDIT2:
ビルダーからのスクリーンショット (ウォッチ式には値があり、コード内の sData はマウス オーバー時 - ない): http://img9.imageshack.us/img9/7471/o7sa.png
また... :]この文字列には、ソースデータベースにタブ、改行、またはその他の空白が含まれていません...