Php Dersleri
PHP
Forum
Haber ve Duyurular
Tanışma Bölümü
Acemilerin Soru bölümü
Web Sitesi Dersleri
Temel Web dersleri
Html Dersleri
Css Dersleri
Javascript Dersleri
Php Dersleri
Mysql Dersleri
Php Kodları ve Paylaşım
Php Functions
Mysql Komutları
Hazır Php Scriptler
Hazır CSS Kodları
Para Kazanma Yolları
İnternetten para kazanmak
Seo Teknikleri
Adsense
Adwords
Adtech
Diğer Reklam Sistemleri
Web Hosting
Domain Tescil Firmaları
Web Hosting Firmaları
Dedicated Hosting
Üye Bilgileri
Nick:
turk182
İsim:
Erkin ERDOGAN
Web sayfası:
Cinsiyet:
Erkek
İmza:
Konu sayısı:
1
Cevap sayısı:
1
Kaç günlük üye
13
Son yazdığı Php kodları mesajları
evet bir xml'den alıyor veriyi. Ve bendeki xml yapısı şu şekilde:
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<STOKLAR>
<STOK Stok_Kod="" Stok_Ad="">
<OZELLIKLER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
<OZELLIK></OZELLIK>
<DEGER></DEGER>
</OZELLIKLER>
</STOK>
</STOKLAR>
</ROOT>
Ben şu şekilde istediğimi ekrana yazdırabiliyorum:
<?php // SimpleXML $ROOT = new SimpleXMLElement('urunozellikleri.ashx', null, true); echo <<<EOF <table> EOF; foreach($ROOT->children() as $STOKLAR) {
foreach($STOKLAR->children() as $STOK) {
foreach($STOK->children() as $OZELLIKLER) {
for($s=0;$s<count($OZELLIKLER);$s++) { echo <<<EOF <tr> <td>{$OZELLIKLER->OZELLIK[$s]}</td> <td>{$OZELLIKLER->DEGER[$s]}</td> </tr> EOF; } } } } echo '</table>'; ?>
Bunu bir
değişken
e nasıl atayacağım?
Zaman
2014-03-16 16:30:55
Php php
Selam arkadaşlar, Desteğinize ihtiyacım var. Araştırırken aşağıdaki makaleye rastladım, sanırım ASP bu kodlar. Bunu php dilinde nasıl yaparım?
Xml Dosya:
<
urunler
>
<
urun
>
<
urun_kodu
>
NKTLFN-6500
</
urun_kodu
>
<
urun_adi
>
NOKİA 6500
</
urun_adi
>
<
alis_fiyati
>
350
</
alis_fiyati
>
<
satis_fiyati
>
450
</
satis_fiyati
>
-
<
ozellikler
>
<
ozellik
adi
=
"
Kamera
"
degeri
=
"
3.2 Mpx
"
/>
<
ozellik
adi
=
"
Video Kayıt
"
degeri
=
"
Var
"
/>
<
ozellik
adi
=
"
Konuşma Süresi
"
degeri
=
"
120 saat
"
/>
<
ozellik
adi
=
"
Bluetooth
"
degeri
=
"
Var
"
/>
<
ozellik
adi
=
"
Wi-Fi
"
degeri
=
"
Yok
"
/>
<
ozellik
adi
=
"
Mp3 Çalar
"
degeri
=
"
Var
"
/>
</
ozellikler
>
</
urun
>
</
urunler
>
Urun ve Ozellik Classı:
public
class
Urun
{
public
string
UrunKodu {
get
;
set
; }
public
string
UrunAdi {
get
;
set
; }
public
decimal
AlisFiyati {
get
;
set
; }
public
decimal
SatisFiyati {
get
;
set
; }
public
List
<
Ozellik
> Ozellikler {
get
;
set
; }
public
Urun()
{
this
.Ozellikler =
new
List
<
Ozellik
>();
}
}
public
class
Ozellik
{
public
string
Adi {
get
;
set
; }
public
string
Degeri {
get
;
set
; }
public
Ozellik()
{}
}
Yukarıdaki iki classı kullanarak işlemlerimize başlayalım. İlk önce elimizde bulunan Xml Dosyasını bir XmlDocument nesnesi içerisine atıyoruz. Daha sonra bizim işlem yapacağımız nesne Ürünler olduğu için bu Xml dosya içerisindeki <urun> tagları arasındaki verileri "urunler" adını verdiğimiz XmlNodeList nesnesine atıyoruz. Bir urun listesi oluşturduktan sonra elimizde bulunan urunler isimli XmlNodeListin içeriğini içindeki <urun> tagının adeti kadar dönüyoruz. Elimize geçen her ürün tagından yeni bir ürün oluşturup, değerleri atıyoruz. Bu adımdan sonra sıra Attribute değerlerini okumaya geliyor. Bu kısımda içerisinde bulunduğumuz ürün tagının içerisindeki <ozellikler> Node nesnesinin içerisindeki <ozellik> taglarını da "ozellikler" adını verdiğimiz XmlNodeList nesnesine atıyoruz.
public
List
<
Urun
> XmlOku()
{
XmlDocument
doc =
new
XmlDocument
();
doc.Load(Server.MapPath(
"XmlFile.xml"
));
XmlNodeList
urunler = doc.SelectNodes(
"/urunler/urun"
);
List
<
Urun
> urunListesi =
new
List
<
Urun
>();
for
(
int
i = 0; i < urunler.Count; i++)
{
Urun
u =
new
Urun
();
u.UrunKodu = urunler[i][
"urun_kodu"
].InnerText;
u.UrunAdi = urunler[i][
"urun_adi"
].InnerText;
u.AlisFiyati =
Convert
.ToDecimal(urunler[i][
"alis_fiyati"
].InnerText);
u.SatisFiyati =
Convert
.ToDecimal(urunler[i][
"alis_fiyati"
].InnerText);
XmlNodeList
ozellikler = urunler[i].SelectNodes(
"ozellikler/ozellik"
);
for
(
int
j = 0; j < ozellikler.Count; j++)
{
u.Ozellikler.Add(
new
Ozellik
() { Adi = ozellikler[j].Attributes[
"adi"
].Value, Degeri = ozellikler[j].Attributes[
"degeri"
].Value});
}
urunListesi.Add(u);
}
return
urunListesi;
}
Ozellikler adını verdiğimiz bu XmlNodeListesi artık bizim ilk "for" döngüsündeki işlem yaptığımız ürünün özellikleri oluyor.Attribute değerlerinide yukarıda görüldüğü şekilde okuyarak her nesneyi kendi özelliğine atıyoruz. Ve oluşan her urunu listeye ekliyoruz. XMLOku() metodundan dönen ürün listesini artık aşağıdaki şekilde istediğiniz yerde kullanabilirsiniz.
List
<
Urun
> okunanUrunler = XmlOku();
foreach
(
Urun
item
in
okunanUrunler)
{
//yapacağınız işlemler
}
Zaman
2014-03-12 00:14:29
Php Xml Dosya, Urun ve Ozellik Classları
phpkodlari.com © 2009
Herkes
Php
öğrenecek
Web tasarım ve eğitim kaynağınız.