2009-05-01 74 views
0

我創建了一個aspx頁面,它動態地創建一個xml字符串並將其發送回客戶端。從ASPX頁面讀取Flash中的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文件閃光燈可以精細閱讀,但是當它試圖從它失敗,「1090 XML分析器失敗的ASPX閱讀:元是畸形的「。

我沒有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); 

任何想法?

+0

你的fileLoaded函數是什麼樣的? – quoo 2009-05-01 15:46:05

回答

1

這聽起來當閃光燈調用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); 
    } 
} 

它應該有希望給你一些關於最新錯誤的更多信息。

0

嘗試使用此

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