Sayfa Reklamı

sağlam bahis siteleri
XML ve RSS

SimpleXML

PHP5 sürümünden itibaren OOP yapısının yeniden düzenlenmesinden dolayı SimpleXML kütüphanesi oluşturuldu ve böylece XML ile çalışmak oldukça kolay hale geldi. PHP ile XML belgeleri üzerinde çalışmak için SimpleXMLElement sınıfından faydalanacağız. Bu sınıf XML belgelerini parse ederek bir dizi haline getirir. Böylece XML düğümleri arasında boğuşmaktan kurtuluruz.

SimpleXML kütüphanesi tanımak için basitten zora doğru örneklerle başlayalım. Öncelikle sınıfı nasıl kullanacağımızı, bir XML belgesini parse ettirdiğimizde nasıl sonuç döndüreceğini gözlemleyelim. Bunun için elimizde bir XML belgesi olması gerekiyor.

Aşağıda yer alan kodları kitaplar.xml kök dizine olarak kaydedin.

<kitaplar>

<kitap>

<isim>HTML5 ile Gelen Yenilikler</isim>

<yazar>Orhan BAHAR</yazar>

</kitap>

<kitap>

<isim>PHP ile Gelen Yenilikler</isim>

<yazar>Orhan BAHAR</yazar>

</kitap>

</kitaplar>

Şimdi kitaplar.xml dosyasını parse etmek için SimpleXMLElement sınıfından bir nesne örnekleyelim ve sonuçları gözlemlemek için nesne kaynağını ekrana print_r() fonksiyonu ile yazdıralım.

Yukarıdaki kodu çalıştırdığınızda XML dosyası parse edilerek bir dizi haline dönüştürüldü. Peki sadece bir adet kayda nasıl ulaşabiliriz? Örneğin; sadece ikinci kitabın yazarını (Orhan Bahar) ekrana yazdırmak istersek ne yapacağız?

Yukarıdaki kodu XML belgesini parse ettikten sonra yazarsanız gerçekten de istediğimiz kayda erişebildiğimizi fark edeceksiniz. Peki nasıl eriştik? XML belgesi parse edildikten sonra $xml değişkenine object tipli dizi halinde atılıyor. Üstteki resimde dizinin kitap isimli bir dizi düğümü var. Öyleyse $xml->kitap ile bu düğüme erişebiliriz. Bu düğüm içinde 0 ve 1 düğümleri var. Biz ikinci kitaba ulaşacağımızdan erişim imlecimiz $xml->kitap[1] haline dönüştü. Artık geriye sadece ekrana hangi değişkeni yazdıracağımız kaldı. Son olarak $xml->kitap[1]->yazar olan imleç gerçekte aradığımız kayda erişmek için doğru seçimdir.

Previous Post Next Post

You Might Also Like

No Comments

Bir Cevap Yazın

%d blogcu bunu beğendi: