| Flash ile XML Dosyası İşleme |
Bu bölümde Adobe Flash 8.0 ve yukarı versiyonlarında XML dosyasının alınarak dinamik içerik hazırlanması ile örnek çalışma anlatılacaktır. XML örneğinde Anadolu Ajansının RSS Feed* XML dosyası kullanılacaktır.
*Anadolu Ajansı Web sitesi içerisinde yeralan tüm metin, resim ve diğer içeriğin hakları Anadolu Ajansı T.A.Ş'ye aittir. Hiçbir şekilde basılı veya herhangi diğer bir elektronik ortamda (CD, Internet vs.) izinsiz kullanılamaz.
Öncelikle XML dosya yapısından bahsedelim. XML dosya yapısı HTML dosya yapısına benzer özellikler içerir. HTML den farklı olarak XML tagları ve değer adları kullanıcı tarafından verilir. Belirli XML formatları dışında standart bir taglama methodu içermezler. İçeriği okunabilir metin özelliği gösterir. Her tag değerleri metin, tam sayı, ondalık sayı vb türlerde olabilir.
Flash içerisine yerleştireceğiniz bu kod ile parçalama işlemini yapabilirsiniz. Aşağıda indirebileceğiniz örnek bir fla dosyasıda bulacaksınız. Püf noktası yüklenecek olan xml dosyası içerisinde vereceğiniz adres yerel bir adres olmaz ise güvenlik sebebiyle flash göstericisi ilgili adrese erişimi engelleyecektir. Bu sebepten dolayı bu içeriği yerel web sunucusu üzerinden vermek gerekir.
|
satir=2;
sutun=1;
System.useCodepage = true;
function yukle() {
var db:XML = new XML();
_global.db=db;
db.ignoreWhite = true;
db.load("icerik.xml");
// XML Dosyasini isterseniz http://www.aa.com.tr/rss/ajansguncel.xml adresini
// vererek de kullanabilirsiniz.
// db.load("http://www.aa.com.tr/rss/ajansguncel.xml");
db.onLoad = function(yuklendi) {
if(yuklendi) {
duzenle();
cogalt(0);
}
}
}
function duzenle() {
_global.sayfada_gosterilicek_mc = satir*sutun;
_global.sayfa_bas=0;
_global.sayfa_son=0
// _global.toplam_veri = db.firstChild.childNodes.length;
_global.toplam_veri = db.firstChild.childNodes[0].childNodes.length-5;
_global.toplam_sayfa= Math.ceil(toplam_veri/sayfada_gosterilicek_mc);
_global.sayfa_no = 0;
}
////////////////////////
function trimNewline(text_str:String) {
var temp_array = text_str.split(chr(13)+chr(10));
var temp1_array = [];
for (i=0; i < temp_array.length; i++) {
if (trim(temp_array[i]) != "") {
temp1_array.push(trim(temp_array[i]));
}
}
var new_str = temp1_array.join(" ");
return new_str;
};
function cogalt(sayfa_no:Number) {
sayfa_bas=sayfa_no*sayfada_gosterilicek_mc;
sayfa_son=(sayfa_no*sayfada_gosterilicek_mc)+sayfada_gosterilicek_mc;
var j:Number = 0;
for(i=sayfa_bas; i<sayfa_son; i++) {
if(i<toplam_veri) {
//var yeni_mc:MovieClip = icerik_mc.duplicateMovieClip("icerik_mc"+i,i);
var yeni_mc = icerik_mc;
var yeni_scr = _root.deneme;
yeni_mc.baslik_txt.text = db.firstChild.childNodes[0].childNodes[i+5].childNodes[0].firstChild.nodeValue.toString();
yeni_mc.detay_txt.text = db.firstChild.childNodes[0].childNodes[i+5].childNodes[4].firstChild.nodeValue.toString();
yeni_scr.text = yeni_mc.detay_txt.text;
j++
}
}
buton_kontrol();
}
////////////////////////
function sil() {
for(i=sayfa_bas; i<sayfa_son; i++) {
removeMovieClip(this["icerik_mc"+i]);
}
}
////////////////////////
function buton_kontrol() {
geri_bt.onRelease = function() {
sil();
sayfa_no--;
cogalt(sayfa_no);
trace(sayfa_no);
}
ileri_bt.onRelease = function() {
sil();
sayfa_no++;
cogalt(sayfa_no);
trace(sayfa_no);
}
if(sayfa_no==0) {
geri_bt.enabled = false;
geri_bt._alpha = 20;
}else{
geri_bt.enabled = true;
geri_bt._alpha = 100;
}
if(sayfa_no==toplam_sayfa-1) {
ileri_bt.enabled = false;
ileri_bt._alpha = 20;
}else{
ileri_bt.enabled = true;
ileri_bt._alpha = 100;
}
}
////////////////////////
yukle();
|
Örnek Dosya : icerik fla dosyası XML içeriği buradan indirebilirsiniz.
|