[英]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.