Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » php ile xml kaynağından veri almak


Yanıt
 
LinkBack Seçenekler
Old 22.04.2005   #1 (permalink)
flu
 
flu's Avatar
 
Üyelik Tarihi: 28.03.2004
Yer: -
Mesaj: 104
php ile xml kaynağından veri almak


forumda aradım ama ilgili bir kaç konu da fazla ileri aşamalara ait gibi geldi pek çözemedim. internette yayınlanan herhangi bir XML kaynağından PHP kullanarak nasıl bilgi alabilirim. PHP manualdeki XML parser fonksiyonlarını okudum fakat elde ettiğim veriyi biçimlendirmekte zorlanıyorum. örnek url: http://www.radikal.com.tr/radikal_7.xml mesela burdaki veriyi satır satır sadece başlıkları ve linkleri alacak şekilde göstermek istiyorum. bunu PHP ile nasıl yapabileceğim hususunda yardımcı olabileceklere şimdiden teşekkürler.
flu ş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 22.04.2005   #2 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php ile xml kaynağından veri almak

eğer illa XML parser ile yapıcam demiyorsan aşağıdaki kod işini görecektir, takıldığın bir yer olursa yazman yeterli

kolay gelsin


PHP Code:
<?
$veri 
= array();
$kaynak file_get_contents("http://www.radikal.com.tr/radikal_7.XML");

$temp split("<item>",$kaynak);

for (
$i=1;$i<=count($temp);$i++){
    if(
trim($temp[$i])==''){continue;}
    
preg_match('/<title>(.*)<\/title>/i'$temp[$i], $title);
    
preg_match('/<link>(.*)<\/link>/i'$temp[$i], $link);
    
array_push($veri,array($title[1],$link[1]));
}
//next

//print_r($veri);

?>
açıklama :
sabah biraz aceleye geldi, detaya giremedim, bu kodların sonunda array şeklinde XML içinden alınan bütün başlık ve linkler $veri değişkenine yüklenmiş oluyor
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark

Mesaj Taci TIRSAK tarafından 22.04.2005 (10:06) yeniden düzenlendi.. Açıklama: açıklama bölümü
Taci TIRSAK ş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 22.04.2005   #3 (permalink)
 
omerbalyali's Avatar
 
Üyelik Tarihi: 15.02.2005
Yer: İstanbul
Yaş: 20
Mesaj: 924
Görsel: 24
Re: php ile xml kaynağından veri almak

Şurada da bazı makaleler var...

http://www.ceviz.net/index.php?case=category&id=14 - PHP Bölümü
http://www.ceviz.net/index.php?case=...d=101&catid=14 - XML Dump I
http://www.ceviz.net/index.php?case=...d=102&catid=14 - XML Dump II
__________________
i got the blues.
omerbalyali ş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 22.04.2005   #4 (permalink)
flu
 
flu's Avatar
 
Üyelik Tarihi: 28.03.2004
Yer: -
Mesaj: 104
Re: php ile xml kaynağından veri almak

@Taci Tırsak
hocam teşekkürler öncelikle. bu yöntem işimi görür gibi ancak file_get_contents() fonksiyonu hata verdi. sanırım denediğim bilgisayardaki PHP sürümünden kaynaklanıyor. bunun için sanırım bir fonksiyon yazmak gerekcek kısa da olsa ona çalışaym; önerin şöyle yap onu da şeklinde bir fikrin varsa da zevkle dinlerim

edit: bir de url ve title için 2 ayrı değişken atamak mümkün müdür ?

@Omer Balyali
verdiğin linklerden değil de aynı yerdeki m. karabulutun XML parserlarla ilgili gayet yararlı bir expat makalesinden faydalandım bu noktaya gelene kadar fakat burda sorduğum kısmını özellikle o örneklerden pek kendiminkilere uyarlayamadım. ilginiz için teşekkürler
flu ş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 22.04.2005   #5 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php ile xml kaynağından veri almak

file_gets_contents() sayfanın içeriğini tek string olarak verir, gelen veri direkt parçalamaya müsait olarak gelir, rahatlığı sebebi ile bunu kullanıyorum genelde, aşağıdaki kodu bir dene, sayfa içeriğini array değişken olarak sayfaya basması gerekir, eğer problem yoksa, senin kodlamayı buna göre ayarlarım tekrar

PHP Code:
<?
$kaynak 
file("http://www.radikal.com.tr/radikal_7.XML");
print_r($kaynak);
?>
ek : editlediğin cümleyi tam olarak anlamadım ? iki ayrı değişken olarak atamak derken kastettiğin nedir?
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark

Mesaj Taci TIRSAK tarafından 22.04.2005 (11:36) yeniden düzenlendi.. Açıklama: ek
Taci TIRSAK ş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 22.04.2005   #6 (permalink)
 
stalker's Avatar
 
Üyelik Tarihi: 01.11.2000
Yer: İstanbul
Yaş: 26
Mesaj: 713
Re: php ile xml kaynağından veri almak

Doğru düzgün parser kullan, XML'i böyle formatlanmış string gibi işlemek hatalı, şimdi parser kullanırsan ileride daha karmaşık XML'ler için tecrübe kazanmış olursun.
http://tr.php.net/xml
__________________
life is better without braces
stalker ş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 22.04.2005   #7 (permalink)
flu
 
flu's Avatar
 
Üyelik Tarihi: 28.03.2004
Yer: -
Mesaj: 104
Re: php ile xml kaynağından veri almak

@Taci tırsak

önerdiğiniz yöntemle pek sonuç alamadım, yanlış uygulamış da olabilirim fakat öncesinde ben şöyle bir şey yapmıştım:

PHP Code:
function file_get_contents($dosya){ 
   
$fp fopen ($dosya"r"); 
   while(!
feof($fp)){ 
      
$kaynak .= fgets($fp,4096); 
      } 
   
fclose ($fp); 
   return 
$kaynak
   } 
bu şekilde ilk verdiğiniz örnek çalıştı fakat XML kaynağının başındaki copyright bilgilerini falan da dahil etti bir bütün olarak kaynağın içeriğini sayfaya bastı. 2 değişken derken de tam olarak ne istediğimi aslında ben de bilmiyorum ama işte $link ve $title gösterebilsem <title> ve <link> verisinin içindekileri böylece listelenen başlığa link verebilsem şeklinde birşey düşünmüştüm.

@stalker ilk işim söylediğim gibi XML parser ı incelemek oldu manualden ama dosya yolu vermek dışında kalan alanları özellikle içeriği ayrıştırmak konusunda hiç anlamadım diyebilirim. o şekilde çözemeyi denediğimde sanırım sorularımın ardı arkası kesilmeyecektir. fakat isteğimi anlattım, göstermek istedim XML kaynağını ve hangi bölümlerine ihtiyacım olduğunu da söyledim. bunu yapabilecek bir parser örneği yazabilirseniz belki ancak ha demek şu buymuş şeklinde bir fikir sahibi olabilirim gibi geliyor.

ilginiz için tekrar teşekkürler
flu ş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 22.04.2005   #8 (permalink)
 
Üyelik Tarihi: 20.06.2002
Yer: Bursa
Yaş: 31
Mesaj: 294
Re: php ile xml kaynağından veri almak

PHP Code:
<?
$veri 
= array();
//$kaynak = file("http://www.radikal.com.tr/radikal_7.XML");

$fp fopen ("http://www.radikal.com.tr/radikal_7.XML""r");
   while(!
feof($fp)){
      
$kaynak .= fgets($fp,4096);
      }
   
fclose ($fp); 


$temp split("<item>",$kaynak);

/* döngüye 1 den başlanırsa copyright bilgilerini dahil etmez */
for ($i=1;$i<=count($temp);$i++){
    if(
trim($temp[$i])==''){continue;}
    
preg_match('/<title>(.*)<\/title>/i'$temp[$i], $title);
    
preg_match('/<link>(.*)<\/link>/i'$temp[$i], $link);
    
array_push($veri,array($title[1],$link[1]));
}
//next

//print_r($veri);
?>
@flu yukardaki kodlama bende sorusuz çalıştı çıktının aşağıdaki gibi olması gerekiyor
Alıntı:
Array
(
[0] => Array
(
[0] => Benetton: Para sorun değil Türkiye'de büyüyeceğiz
[1] => http://www.radikal.com.tr/haber.php?haberno=150434
)

[1] => Array
(
[0] => Invista yeni yatırım için araştırma yapıyor
[1] => http://www.radikal.com.tr/haber.php?haberno=150433
)

[2] => Array
(
[0] => Süte destek paketi bakanlıkta
[1] => http://www.radikal.com.tr/haber.php?haberno=150432
)

[3] => Array
(
[0] => Meraları işgal edene af
[1] => http://www.radikal.com.tr/haber.php?haberno=150430
)
....
)
@stalker XML ile yoğun olarak işim olmuyor pek, o sebeple bu şekilde çalışmak daha basit geliyor, işi olması gerektiği gibi yapmak önemli olsada, eğer çok önem arzetmeyen bir uygulama ise gidilen yoldan ziyade sonuç daha önemli bence
__________________
AltıÜstü Tasarım (Kaliteyi Destekliyoruz)
tt | asdfClub | PublicMail | nntp2rss | reklampark
Taci TIRSAK ş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 22.04.2005   #9 (permalink)
flu
 
flu's Avatar
 
Üyelik Tarihi: 28.03.2004
Yer: -
Mesaj: 104
Re: php ile xml kaynağından veri almak

@Taci Tırsak

Hocam teşekkür ediyorum çok yormadık umarım. Aynen belirttiğiniz şekilde çalışmakta bende de, elinize sağlk

Bana da aslında sadece ille de ekonomi haberi isterim sayfamda diyen bir müşteri için lazım, yine de XML parse, expat gibi konular da halen kafamı kurcalıyor. bu konu için ya da bu konudan bağımsız olarak XML parsing hususunda döküman yazabilecek arkadaşlar olursa da ne güzel olur.
flu ş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 07.01.2006   #10 (permalink)
 
fenomen's Avatar
 
Üyelik Tarihi: 13.06.2002
Yer: sakarya
Yaş: 26
Mesaj: 361
Görsel: 7
Re: php ile xml kaynağından veri almak

Bazen işler istediğimiz gibi gitmeyebiliyor ve karşımıza şöyle bir yapı çıkabiliyor:
HTML Code:
<category id="5" konu="eko">Ekonomi</category>
bu category etiketinin içindeki id ve konu değerlerini ayrı ayrı nasıl alabiliriz?

(bu konu gayet uygun diye buradan devam ettim)
__________________
FENOMEN PHOTOS
fenomen ş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

almak , veri , kaynagindan , xml , php



 
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:

UslanmaM baktabul.com TEKplatform TEKplatform

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