[英]Reading XML In Flash From An ASPX Page
I have created an aspx page which dynamicaly creates an xml string and posts it back to the client. 我创建了一个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());
}
It creates valid XML and when I save this code to a static .xml file the flash can read it fine, though when it tried to read it from the ASPX it fails with "1090 XML parser failure: element is malformed". 它创建有效的XML,并且当我将此代码保存到静态.xml文件时,闪存可以很好地读取它,尽管当它尝试从ASPX读取它时,它失败并显示“ 1090 XML解析器故障:元素格式错误”。
I do not have http compression on. 我没有http压缩。
Flash code. 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);
Any ideas? 有任何想法吗?
It sounds like when flash calls the aspx page it gets a different response than you're expecting, try using this fileLoaded function: 听起来,当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);
}
}
which should hopefully give you some more info about whats going wrong. 希望可以为您提供更多有关发生问题的信息。
试试这个
"<![CDATA[" and ends with "]]>"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.