我发布时,swf文件无法读取XML数据

时间:2014-09-14 04:52:38

标签: c# asp.net xml actionscript-3 url

我正在尝试从网址http://localhost:15979/default.aspx读取数据。网址的输出是:

<?xml version="1.0" encoding="utf-8"?>
<GALLERY>
<IMAGE TITLE="abs">image1.jpg</IMAGE>
<IMAGE TITLE="iron">image2.jpg</IMAGE>
<IMAGE TITLE="shop">image3.jpg</IMAGE>
</GALLERY>

我使用以下代码获取此值into adobe flash cs

var myXML:XML = new XML(); 
var XML_URL:String = "http://localhost:15979/default.aspx"; 
var myXMLURL:URLRequest = new URLRequest(XML_URL); 
var myLoader:URLLoader = new URLLoader(myXMLURL); 
myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 

function xmlLoaded(event:Event):void 
{ 
    myXML = XML(myLoader.data); 
    trace("Data loaded."); 
    txtname.text=myXML.IMAGE[1].@TITLE;
}

所以当我按ctrl +enter时,swf文件显示结果并且每件事情都正常,但是当我发布swf文件时,我的XML文件无法读取而{{1}屏幕上没有问题。另一个问题是当我更改xml时,更改不适用于SWF文件。

我将xml表单更改为:

myXML.IMAGE[1].@TITLE;

但是.fl文件会抛出此错误:

<?xml version="1.0"?>
<cross-domain-policy>
    <allow-access-from domain="*" secure="false" />
</cross-domain-policy>
<GALLERY>
<IMAGE TITLE="asas">image1.jpg</IMAGE>
<IMAGE TITLE="ssssss">image2.jpg</IMAGE>
<IMAGE TITLE="shop">image3.jpg</IMAGE>
</GALLERY>

1 个答案:

答案 0 :(得分:0)

我最后在我的项目中添加了一个跨域文件,如下所示:

<?xml version="1.0" encoding="utf-8" ?> 
<cross-domain-policy>
<allow-http-request-headers-from domain="*" headers="*"/>
<allow-access-from domain="*"/>
</cross-domain-policy>

我在我的flash文件中调用此文件,如下所示:

Security.loadPolicyFile("http://localhost:15979/crossdomain.xml");

并且一切正常。