2014-09-14 3 views
1

나는 URL의 URL http://localhost:15979/default.aspx 국지적 출력에서 ​​데이터를 읽기 위해 노력하고있다 게시 할 때 SWF 파일을 읽을 수 없습니다 : 내가 ctrl +enter을 누르면XML 데이터는 내가 그것을

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][email protected]; 
} 

그래서 SWF 파일은 결과를 보여줍니다 모든 일이 잘 작동하지만 내가 swf 내 XML 파일을 읽을 수없는 파일을 게시 할 때 myXML.IMAGE[1][email protected];가 화면에 apear하지 않습니다 . 다른 문제는 제가 바뀌었을 때입니다. xml, SWF 파일에는 변경 내용이 적용되지 않습니다.

나는하기 위해 XML 양식을 변경 :

<?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> 

그러나 .fl 파일이 오류가 발생합니다 : 당신이 여기에서 볼 수

TypeError: Error #1088: The markup in the document following the root element must be well-formed. 
    at _3333333333333333333333_fla::MainTimeline/xmlLoaded() 
    at flash.events::EventDispatcher/dispatchEventFunction() 
    at flash.events::EventDispatcher/dispatchEvent() 
    at flash.net::URLLoader/onComplete() 
+0

예, swf를 플래시 저작 (컴퓨터의 swf)에서 실행하면 모든 도메인에서 XML을 사용할 수 있습니다. swf가 DomainA.com에 있고 xml이 DomainB.com에있을 때 XML이 차단됩니다. 다른 도메인에서 xml을 사용하는 것이 좋다고 말하는 교차 도메인 정책이 없으면 XML이 차단됩니다. 코드에서 적절한 URL로 대체해야합니다. http://my.domain.com/dataxml.xml은 (는) 예제 URL입니다. my.domain.com은 단지 예일뿐입니다. 내 소유자 도메인을 내 파일 .fla로 설정합니다. –

+0

찾았지만 무슨 뜻인지 모르겠다. –

+0

이것이 내 문제라고 생각했습니다. http : //stackoverflow.com/questions/25066552/swf-not-updating-when-file-xml-and-swf-not-in-the-same-domain/25070801#25070801 –

답변

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> 

이 파일을 내 플래시 파일에 다음과 같이 넣습니다.

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

모든 것이 정상적으로 작동합니다.

+1

마치 작동하는 것처럼 보입니다. 기본적으로 하나의 도메인은 xml에 교차 도메인 정책이 없다면 다른 도메인의 xml을 "사용할"수 없습니다 (괜찮습니다). – moot