Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Tasarımcının Mutfağı » Flash, AIR, Flex, Silverlight » Flash'tan XML'ye ulaşma sorunu...


Yanıt
 
LinkBack Seçenekler
Old 28.02.2008   #1 (permalink)
 
MGoktas's Avatar
 
Üyelik Tarihi: 26.01.2007
Yer: Kayseri
Mesaj: 332
Görsel: 17
Flash'tan XML'ye ulaşma sorunu...


Merhaba
4-5 gündür uğraşıyorum bulamadım ya da bir yerde yanlış yapıyorum. Bir galeri oluşturuyorum, galeride ana başlık, alt başlıklar ve alt başlık içindeki resimler yer alıyor. Ana başlıklar ve alt başlıklarda sorun yok, alt başlıklar altındaki resimlere ulaşamıyorum.

XML şöyle:
Kod:
<?XML version="1.0" encoding="utf-8"?>
<galeri>

<baslik ad="Galeri Adı" metin="Galeri Yazısı">

<foto adres="01.jpg"/>
<foto adres="02.jpg"/>
<foto adres="03.jpg"/>
<foto adres="04.jpg"/>

</baslik>

</galeri>
Başlık sayısı için: firstChild.ChildNodes.length; koduyla ulaşıyorum.
En iç bölümdeki <foto/> sayısına nasıl ulaşmam gerekiyor?
firstChild.childNodes[i].childNodes.length; olarak deniyorum ama olmuyor. Tabi bundan başka bir sürü şekil denedim ama ulaşamıyor o sayıya...
Yardımcı olabileceklere teşekkürler.
MGoktas şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 28.02.2008   #2 (permalink)
 
codesignist's Avatar
 
Üyelik Tarihi: 02.01.2005
Yer: İstanbul
Mesaj: 249
Re: Flash'tan XML'ye ulaşma sorunu...

Onlar attribute'ler. Genel XML mantığı şöyle;
PHP Code:
<element attribute="attribute value">node</element
Eğer node kısmı boşsa;
PHP Code:
<element attribute="attribute value"/> 
Şeklinde kısaca da yazılabilir.

AS2'de bu değere ulaşmak için şöyle kod yazmak gerekli;
PHP Code:
trace(XML.firstChild.childNodes[i].attributes.adres); 
__________________
abonelik , codesignist.com , yunuses.com , blog
codesignist şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 28.02.2008   #3 (permalink)
 
MGoktas's Avatar
 
Üyelik Tarihi: 26.01.2007
Yer: Kayseri
Mesaj: 332
Görsel: 17
Re: Flash'tan XML'ye ulaşma sorunu...

Alıntı:
codesignist tarafından gönderilen mesaj: Mesajı Görüntüle

AS2'de bu değere ulaşmak için şöyle kod yazmak gerekli;
PHP Code:
trace(XML.firstChild.childNodes[i].attributes.adres); 
Bu kodu denedim, yapmak istediğim tam olarak bu değil.
<foto/> sayısına ulaşmak istiyorum, ona da şu şekilde ulaştım:

Kod:
trace(XML.firstChild.childNodes[i].childNodes.length);
Bu şekilde doğru rakamları veriyor. Fakat doğru rakamlarda mc çoğaltmıyor. 4 tane çoğalttı kaldı son olarak. Container mc üzerinde yazılı olan kodlar şöyle:

Kod:
onClipEvent (load) {
galeri = new XML();
	galeri.ignoreWhite = true;
	galeri.load("galeri.XML");
	this.altbuton._visible = false;
	this.anabuton.yazi.text = "GALERİ ADI";

	function liste() {
		ystart = 17;
		spacing = altbuton._height+1;
		toplam = galeri.firstChild.childNodes.length;
		for (var i = 0; i<toplam; i++) {
			this.altbuton.duplicateMovieClip("b"+i,i);
			galeri_ad = this["b"+i];
			galeri_ad.yazi.text = galeri.firstChild.childNodes[i].attributes.ad;
			galeri_ad._x = 0;
			galeri_ad._y = i*spacing+ystart;
			galeri_ad.anayazi = galeri.firstChild.childNodes[i].attributes.metin;
			
			kucuk_toplam = galeri.firstChild.childNodes[i].childNodes.length;
			
			galeri_ad.onRelease = function() {
				xstart = 0;
				xbosluk = 15;
				var no = 0;
				for (var j = 0; j<kucuk_toplam; j++) {
					no++;
					//root üzerinde kucukler adli container mc icinde foto adli mc'leri attachMovie komutuyla cogaltiyorum...
					//bu kucuk numaralardan olusan butonlara tiklayinca da ilgili fotolar acilacak...
					var foto_no = _root.kucukler.attachMovie("kuc", "foto"+no, no);
					foto_no._x = xstart+j*xbosluk;
				}
			};
		}
	}
}
XML dosyası ise şöyle:
Kod:
<?XML version="1.0" encoding="utf-8"?>
<galeriler>

<baslik ad="GALERİ 1" metin="galeri 1 ile ilgili yazi">
<foto adres="galeri/galeri1/01.jpg"/>
<foto adres="galeri/galeri1/02.jpg"/>
</baslik>

<baslik ad="GALERİ 2" metin="galeri 2 ile ilgili yazi">
<foto adres="galeri/galeri2/01.jpg"/>
<foto adres="galeri/galeri2/02.jpg"/>
</baslik>

<baslik ad="GALERİ 3" metin="galeri 3 ile ilgili yazi">
<foto adres="galeri/galeri3/01.jpg"/>
<foto adres="galeri/galeri3/02.jpg"/>
<foto adres="galeri/galeri3/03.jpg"/>
</baslik>

<baslik ad="GALERİ 4" metin="galeri 4 ile ilgili yazi">
<foto adres="galeri/galeri4/01.jpg"/>
<foto adres="galeri/galeri4/02.jpg"/>
<foto adres="galeri/galeri4/03.jpg"/>
<foto adres="galeri/galeri4/04.jpg"/>
</baslik>

</galeriler>
SORUNSUZ BÖLÜM:
Bir butona tıkladığımızda liste fonksiyonunu çalıştırıyor, bu sayede toplam 4 başlık olduğu için 4 adet buton çoğaltılıyor ve textleri de GALERİ 1, GALERİ 2, GALERİ 3, GALERİ 4 oluyor.

sorun:
Bu butonlara da galeri_ad.onRelease = function()... komutuyla her bir galerideki fotoğraf sayısınca root üzerindeki kareleri oluşturmasını yaptırmaya çalışıyorum. XML'den ulaştığım yol doğru görünüyor, her bir galeride kaç fotoğraf varsa doğru sayıyı gösteriyor trace yapınca. Ama o sayıda kare çoğaltmıyor, hangi butona basarsam basayım 4 tane küçük kare çoğaltıyor...
MGoktas şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.02.2008   #4 (permalink)
 
MGoktas's Avatar
 
Üyelik Tarihi: 26.01.2007
Yer: Kayseri
Mesaj: 332
Görsel: 17
Re: Flash'tan XML'ye ulaşma sorunu...

@codesignist'in yardımıyla sorunu çözdüm.

Kullanmak isteyen başkası olursa düzeltilmiş şeklinde;

1-
kucuk_toplam = galeri.firstChild.childNodes[i].childNodes.length; yerine
galeri_ad.kucuk_toplam = galeri.firstChild.childNodes[i].childNodes.length; yazılı.

2-
for (var j = 0; j<kucuk_toplam; j++) yerine
for (var j = 0; j<this.kucuk_toplam; j++) yazılı.
MGoktas şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.02.2008   #5 (permalink)
 
codesignist's Avatar
 
Üyelik Tarihi: 02.01.2005
Yer: İstanbul
Mesaj: 249
Re: Flash'tan XML'ye ulaşma sorunu...

Normalde mesaj yazmıştım ama cevap daha server'a ulaşmadan pencereyi kapamışım. Bu yüzden mesaj boşa gitti. =/
Fakat kısaca tekrar edeyim yazdıklarımı:
"kucuk_toplam" isimli değişken bir tane olduğu için sabit olacak ve sürekli yeni veri aynı değişken üzerine yazılacaktır. Bu durumda son XML'in son alt çocuk sayıları ona kaydedili olacaktır. İşte bu yüzden sürekli 4 sayısını veriyordu. Fakat biz bunu her butona değişken olarak tanımlayıp kendi sayısını çağırdığımızda bu problemi çözmüş oluyoruz.

Buna ek olarak attachMovie'yi sürekli aynı mc içine yaptığımız için her seferinde o mc içine yeni mc'ler eklemiş olacaktık ve her seferinde mc'ler üst üste binecekti. Bizim çözümümüz ise şöyle oldu;
O mc içinde ne kadar mc varsa hepsini bulup sildik ve içine yeni mc'leri attach ettik. Yani şöyle;
PHP Code:
for (var obj in _root.kucukler) {
    var 
hed _root.kucukler[obj];
    if (
typeof (hed) == "movieclip") {
        
hed.removeMovieClip();
    }

__________________
abonelik , codesignist.com , yunuses.com , blog
codesignist şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.02.2008   #6 (permalink)
 
MGoktas's Avatar
 
Üyelik Tarihi: 26.01.2007
Yer: Kayseri
Mesaj: 332
Görsel: 17
Re: Flash'tan XML'ye ulaşma sorunu...

Evet son bölümü eklemeyi unutmuşum.
Yeniden teşekkürler.
İyi çalışmalar...
MGoktas şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.03.2008   #7 (permalink)
 
perplex's Avatar
 
Üyelik Tarihi: 03.01.2007
Yer: istanbul
Yaş: 28
Mesaj: 184
Re: Flash'tan XML'ye ulaşma sorunu...

peki bir soru da ben sorayım.

mesela childnodes'larımızın kaç tane olduğunu/olacağını bilmiyoruz. öyle bir fonksiyon olsun ki childnode olduğu sürece baksın burdaki değerleri toplasın ama daha da childnode yoksa başa dönsün ve bir sonraki ana node a başlasın onların childnodelarına baksın vs vs..

Aslında tipik multiple level menü mantığı ve bunun da recursive bir fonksiyonla olacağı belli. fakat kaldığı yeri indeksliyecek bir yapıyı pek kuramadım. Bunun yolu/mantığı nedir.

Tabi bu sorum özellikle codesignist e
perplex şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 01.03.2008   #8 (permalink)
 
codesignist's Avatar
 
Üyelik Tarihi: 02.01.2005
Yer: İstanbul
Mesaj: 249
Re: Flash'tan XML'ye ulaşma sorunu...

Sonsuz alt menülü XML menü yapısı. Hmm.

Bunu; alt sınırı buluncaya kadar devam eden function döngüsü kurarak yapabiliriz. Yani function ile döngü oluşturacağız. Şöyle;

PHP Code:
var XML:XML = new XML();
XML.onLoad = function(ok){
 if(
ok){
  
ayikla(XML);
 }
}
function 
ayikla(gxml:XML){
 var 
tps gxml.length;
 for(var 
i=0;i<tps;i++){
 var 
altxml gxml.childNodes[i];
 
//..
  
if(altxml.length>1){
   
ayikla(altxml);
  }
 }

Yani function içinde yine kendisini çağırarak sonsuz döngü elde ediyoruz. Şöyle bir örnek verirsem sonsuz döngülü function'ın kullanışını daha iyi anlayabilirsiniz.

Matematikte faktöriyel vardır. Bilmeyenler için kısa özet geçeyim;
5! = 5.4.3.2.1 = 120
(5 Faktöriyel = 5'ten 1'e kadar olan sayıların çarpımı)
Yani genel formül;
n! = n.(n-1).(n-2)...2.1
Bunu bir fonksiyon halinde flash'da yapmak istersek şöyle olacaktır;
PHP Code:
function faktoriyel(fk:Number):Number{
 if(
fk>2){ //2'den sonraki tamsayılar için faktöriyelin bir anlamı vardır.
  
var sonuc 1;
  for(var 
i:Number 2;i<fk;i++){
   
sonuc*=i;
  }
  return 
sonuc;
 }
}
//Kullanımı
faktoriyel(7); 
Şimdi for kullanmadan faktöriyeli hesaplamayı deneyelim;
PHP Code:
function faktoriyel(fk:Number):Number{
 return 
fk>2?faktoriyel(fk-1):1;
}
//Kullanımı
faktoriyel(7); 
Kendi sayısı 2'den küçük oluncaya kadar tekrar ettirdik. Çok pratik değil mi?
Bunu sonsuz döngü olan heryerde kullanabilirsiniz. Belki benim experimental çalışmalarımın içinde random ağacı görmüşsünüzdür. İşte onun yapısı bundan ibaret.

İyi çalışmalar.
__________________
abonelik , codesignist.com , yunuses.com , blog
codesignist şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

flash , xml


 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css dijital div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 17:01.