Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » XML'den veri alma


Yanıt
 
LinkBack Seçenekler
Old 27.08.2007   #1 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
XML'den veri alma

Merhabalar arkadaşlar. PHP ile bir XML den veri almak istiyorum. XML içindeki kodlar şu şekilde :

HTML Code:
<?XML version="1.0" standalone="yes" ?> 
<report>
<table>
<columns>
  <column name="campaign" /> 
  <column name="adgroup" /> 
  <column name="keyword" /> 
  <column name="currCode" /> 
  <column name="imps" /> 
  <column name="clicks" /> 
  <column name="ctr" /> 
  <column name="cpc" /> 
  <column name="cpm" /> 
  <column name="cost" /> 
  <column name="pos" /> 
</columns>
<rows>
  <row campaign="FiloHost" adgroup="hosting" keyword="Toplam - içerik hedefleme" currCode="TRY" imps="676470" clicks="623" ctr="9.209573225715848E-4" cpc="41589" cpm="38301" cost="25910000" pos="5.0534643074" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli host" currCode="TRY" imps="47" clicks="1" ctr="0.02127659574468085" cpc="430000" cpm="9148936" cost="430000" pos="2.2553191489" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli hosting" currCode="TRY" imps="19" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.3684210526" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP host" currCode="TRY" imps="150" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.1533333333" /> 
</rows>
</table>
</report>

Şimdi ben bu verilerle şöyle bir tablo hazırlamak istiyorum.

Şimdi columns tagları arasındaki değerlere göre kolonlar oluşturacam. kolonlar işte campaign, adgroup vb. olacak. daha sonra alttaki row satırlarındaki değerleride bu kolonlara yerleştirecem. row tagındaki campaign değerini ilk satırdaki campaign kolonuna, adgroupu adgroup kolonuna vs.

Yardımcı olursanız çok sevinirim. İnternette hep tagların arasındaki değerleri alma var. Tagların içindeki diğer değişkenleri almayı bulamadım.
magos ş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 27.08.2007   #2 (permalink)
oCRaCy
 
Üyelik Tarihi: 17.08.2007
Yer: ist
Mesaj: 17
Re: XML'den veri alma

PHP için geliştrilmiş XML parse fonksiyonları mevcut, www.php.net/xml adresinden gözatabilirsin..
__________________
To follow the path, Look to the master
Follow the master, Walk with the master,
See through the master, Become the master
oCRaCy ş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 27.08.2007   #3 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
Re: XML'den veri alma

orayı görmüştüm ama birşey anlayamamıştım.
magos ş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 27.08.2007   #4 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 175
Görsel: 11
Re: XML'den veri alma

Aşağıdaki örnek tam istediğinizi karşılayacaktır, PHP5 ve SimpleXML kütüphanesini gerektirir.
PHP Code:
<?

$xmlstr 
= <<<XML
<?XML version="1.0" standalone="yes" ?> 
<report>
<table>
<columns>
  <column name="campaign" /> 
  <column name="adgroup" /> 
  <column name="keyword" /> 
  <column name="currCode" /> 
  <column name="imps" /> 
  <column name="clicks" /> 
  <column name="ctr" /> 
  <column name="cpc" /> 
  <column name="cpm" /> 
  <column name="cost" /> 
  <column name="pos" /> 
</columns>
<rows>
  <row campaign="FiloHost" adgroup="hosting" keyword="Toplam - içerik hedefleme" currCode="TRY" imps="676470" clicks="623" ctr="9.209573225715848E-4" cpc="41589" cpm="38301" cost="25910000" pos="5.0534643074" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli host" currCode="TRY" imps="47" clicks="1" ctr="0.02127659574468085" cpc="430000" cpm="9148936" cost="430000" pos="2.2553191489" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli hosting" currCode="TRY" imps="19" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.3684210526" /> 
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP host" currCode="TRY" imps="150" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.1533333333" /> 
</rows>
</table>
</report>
XML;

$XML = new SimpleXMLElement($xmlstr);

echo 
"<hr>";
echo 
"Tablo : Row : Row 0 : Attributes";
echo 
"<pre>";
foreach(
$XML->table[0]->rows[0]->row[0]->attributes() as $a => $b) {
    echo 
$a,'="',$b,"\"\n";
}
echo 
"</pre>";

echo 
"<hr>";
echo 
"Tablo : Columns : Column 0 : Attributes";
echo 
"<pre>";
foreach(
$XML->table[0]->columns[0]->column[0]->attributes() as $a => $b) {
    echo 
$a,'="',$b,"\"\n";
}
echo 
"</pre>";

echo 
"<hr>";
echo 
"Tablo : Columns : Column 0 ";
echo 
"<pre>";
print_r($XML->table[0]->columns[0]->column[0]);
echo 
"</pre>";


echo 
"<hr>";
echo 
"Tablo : Columns ";
echo 
"<pre>";
print_r($XML->table[0]->columns[0]);
echo 
"</pre>";


?>
__________________
meteryus.com // geri döndü
meteryus ş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.08.2007   #5 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
Re: XML'den veri alma

Diğer herşey tamamda şu bölümü anlayamadım.

HTML Code:
$xmlstr = <<<XML 
<?XML version="1.0" standalone="yes" ?>  
<report> 
<table> 
<columns> 
  <column name="campaign" />  
  <column name="adgroup" />  
  <column name="keyword" />  
  <column name="currCode" />  
  <column name="imps" />  
  <column name="clicks" />  
  <column name="ctr" />  
  <column name="cpc" />  
  <column name="cpm" />  
  <column name="cost" />  
  <column name="pos" />  
</columns> 
<rows> 
  <row campaign="FiloHost" adgroup="hosting" keyword="Toplam - içerik hedefleme" currCode="TRY" imps="676470" clicks="623" ctr="9.209573225715848E-4" cpc="41589" cpm="38301" cost="25910000" pos="5.0534643074" />  
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli host" currCode="TRY" imps="47" clicks="1" ctr="0.02127659574468085" cpc="430000" cpm="9148936" cost="430000" pos="2.2553191489" />  
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP destekli hosting" currCode="TRY" imps="19" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.3684210526" />  
  <row campaign="FiloHost" adgroup="hosting" keyword="ASP host" currCode="TRY" imps="150" clicks="0" ctr="0.0" cpc="0" cpm="0" cost="0" pos="4.1533333333" />  
</rows> 
</table> 
</report> 
XML;
Bu phpde hataya sebeb oluyor birincisi. İkincisi harici bir XML dosyasında veriler. ve dosya otomatik geliyor servera. yani ben elle olustursam direk PHP içine eklerim ama harici dosyadan alınacak veriler
magos ş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.08.2007   #6 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 175
Görsel: 11
Re: XML'den veri alma

o bölümü include file_get_contents() ile değiştirebilirsin, ya da XML kodlarını PHP ile oluşturmak istersen include ile yüklersin. ,örnek çalışsın diye ben içine eklemiştim.
__________________
meteryus.com // geri döndü
meteryus ş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.08.2007   #7 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
Re: XML'den veri alma

üstad yaptığın örneğe göre denedim ama beceremedim. yani taglardaki alanlardan bilgi almam lazım bir türlü beceremiyorum
magos ş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.09.2007   #8 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
Re: XML'den veri alma

yokmudur yardımcı olacak arkadaslar ya. tagların arasında bilgi çekiliyor ama taglardaki namelere göre bir türlü beceremiyorum.
magos ş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.09.2007   #9 (permalink)
meteryus
 
meteryus's Avatar
 
Üyelik Tarihi: 26.12.2005
Yer: feza
Yaş: 27
Mesaj: 175
Görsel: 11
Re: XML'den veri alma

yukardaki örnek tam olarak istediğinizi yapıyor zaten, tagların içindeki verilere simpleXml sınıfının attributes() fonksiyonu ile ulaşıyorsun.
Ayrıca "beceremedim" net bir cevap değil hatanın ne olduğu yada ne gibi bir sorun yaşadığını yazarsan belki yardımcı olunabilir.
__________________
meteryus.com // geri döndü
meteryus ş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.09.2007   #10 (permalink)
magos
 
Üyelik Tarihi: 09.11.2006
Yer: izmir
Mesaj: 194
Re: XML'den veri alma

üstad şimdi verdiğin örneği şöyle yaptım

PHP Code:
<? 

$xmlstr 
file_get_contents("report.XML");

$XML = new SimpleXMLElement($xmlstr); 

echo 
"<hr>"
echo 
"Tablo : Row : Row 0 : Attributes"
echo 
"<pre>"
foreach(
$XML->table[0]->rows[0]->row[0]->attributes() as $a => $b) { 
    echo 
$a,'="',$b,"\"\n"

echo 
"</pre>"

echo 
"<hr>"
echo 
"Tablo : Columns : Column 0 : Attributes"
echo 
"<pre>"
foreach(
$XML->table[0]->columns[0]->column[0]->attributes() as $a => $b) { 
    echo 
$a,'="',$b,"\"\n"

echo 
"</pre>"

echo 
"<hr>"
echo 
"Tablo : Columns : Column 0 "
echo 
"<pre>"
print_r($XML->table[0]->columns[0]->column[0]); 
echo 
"</pre>"


echo 
"<hr>"
echo 
"Tablo : Columns "
echo 
"<pre>"
print_r($XML->table[0]->columns[0]); 
echo 
"</pre>"


?>
Çalıştırınca da ekran çıktısı şu şekide oluyor

HTML Code:
--------------------------------------------------------------------------------
Tablo : Row : Row 0 : Attributes
campaign="FiloHost"
adgroup="hosting"
keyword="Toplam - içerik hedefleme"
currCode="TRY"
imps="676470"
clicks="623"
ctr="9.209573225715848E-4"
cpc="41589"
cpm="38301"
cost="25910000"
pos="5.0534643074"


--------------------------------------------------------------------------------
Tablo : Columns : Column 0 : Attributes
name="campaign"


--------------------------------------------------------------------------------
Tablo : Columns : Column 0 
SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [name] => campaign
        )

)


--------------------------------------------------------------------------------
Tablo : Columns 
SimpleXMLElement Object
(
    [column] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => campaign
                        )

                )

            [1] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => adgroup
                        )

                )

            [2] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => keyword
                        )

                )

            [3] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => currCode
                        )

                )

            [4] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => imps
                        )

                )

            [5] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => clicks
                        )

                )

            [6] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => ctr
                        )

                )

            [7] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => cpc
                        )

                )

            [8] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => cpm
                        )

                )

            [9] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => cost
                        )

                )

            [10] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [name] => pos
                        )

                )

        )

)
Şimdi ilk satırda oldugu gibi benim istediğim bütün <row> taglarında bilgileri değişkenlere atıp, onlarla satır oluşturmak. Bunu nasıl saglayabilirim
magos ş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
Yanıt

Etiketler
veri alma , php , 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: