Normal Sartlarda html ıcerısıne embed edilen flash objeden bir degisken alınıp xml yeri belirtilir ve o xml içerisinden veriler cekılırdı ancak buyuk sıstemlerde hem xml uretıp hemde o xmlın takıbını yapmak olukca acılı bir yol olmaktaydı .Onceden uygulanan yol ile xml cagrıldıgında bu sekilde oluyordu
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="720" height="140">
<param name="movie" value="ekfooter.swf?gallery.xml" />
<param name="quality" value="high" />
<embed src="ekfooter.swf?gallery.xml" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="720" height="140"></embed>
</object>
bu ornekte xml yeri "gallery.xml" olarak cagrılmakta ancak olayı bir adım daha ileri goturmenını mantıklı olacagını dusunmek lazım yanı bu sekilde bır kulanım hem kod acısından hemde kulanım kolaylıgı acısından faydalı olabilir ornek ektedir
oncelikle xml kod Url Decode edilerek embed edilir
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="550" height="400" title="dsa">
<param name="movie" value="1.swf?%3Cxml%3E%3Ctop%3Eacx%3C/top%3E%3C/xml%3E" />
<param name="quality" value="high" />
<embed src="1.swf?%3Cxml%3E%3Ctop%3Eacx%3C/top%3E%3C/xml%3E" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="550" height="400"></embed>
</object>
embed li olarak gelen kod flash içerisinde unescape ile cozulup parse edilir …
var xe = unescape(_root._url.substr(_root._url.indexOf(".swf?",0)+5,length(_root._url)));
var X:XML= new XML(xe);
X.ignoreWhite = true;
yazi2 = X.firstChild.childNodes[0].childNodes
Full kodlar ve kaynak dosya ziptedir
Murat YA
