Üye Bilgileri
Nick:turk182
İsim:Erkin ERDOGAN
Web sayfası:
Cinsiyet:Erkek
İmza:
Konu sayısı:1
Cevap sayısı:1
Kaç günlük üye13
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şkene nasıl atayacağım?
Zaman2014-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 { getset; }        public string UrunAdi { getset; }        public decimal AlisFiyati { getset; }        public decimal SatisFiyati { getset; }        public List<Ozellik>  Ozellikler { getset; }         public Urun()        {            this.Ozellikler = new List<Ozellik>();        }    }    public class Ozellik    {        public string Adi { getset; }        public string Degeri { getset; }         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       }

Zaman2014-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.