簡體   English   中英

從ASPX頁面讀取Flash中的XML

[英]Reading XML In Flash From An ASPX Page

我創建了一個aspx頁面,該頁面動態創建了一個xml字符串並將其發布回客戶端。

        protected void Page_Load(object sender, EventArgs e)
    {
        Response.Clear();
        Response.ContentType = "text/xml";
        Response.ContentEncoding = Encoding.UTF8;

        var flashAssets = Asset.GetScrollingFlashAssets();

        var xmlResponse = new StringBuilder(@"<?xml version=""1.0"" encoding=""UTF-8"" ?><assets>");
        flashAssets.ForEach(asset => xmlResponse.Append(@"<asset>handlers/ImageHandler.ashx?liAssetID=" + asset.AssetID + "</asset>"));
        xmlResponse.Append("</assets>");
        Response.Write(xmlResponse.ToString());
    }

它創建有效的XML,並且當我將此代碼保存到靜態.xml文件時,閃存可以很好地讀取它,盡管當它嘗試從ASPX讀取它時,它失敗並顯示“ 1090 XML解析器故障:元素格式錯誤”。

我沒有http壓縮。

Flash代碼。

//---------loading the external xml file-------
var urlRequest:URLRequest = new URLRequest("../xml/CaseStudyFlashAssets.aspx");
var urlLoader:URLLoader = new URLLoader();
var myXML:XML = new XML();
var xmlList:XMLList;
myXML.ignoreWhitespace = true;
urlLoader.addEventListener(Event.COMPLETE,fileLoaded);
urlLoader.load(urlRequest);

有任何想法嗎?

聽起來,當Flash調用aspx頁面時,它得到的響應與您期望的不同,請嘗試使用此fileLoaded函數:

public function fileLoaded(event:Event):void{
     trace('urlLoader.data is ' + urlLoader.data);
     try{
          var xmlData:XML = XML(urlLoader.data);
     } catch (e:Error) {
          trace('Error creating XML: ' + e);
     }
}

希望可以為您提供更多有關發生問題的信息。

試試這個

"<![CDATA[" and ends with "]]>"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM