27 Nisan 2012 Cuma

PHP ile XML Dosyalarına Yazmak: asXML ve addChild Fonksiyonları

Merhaba! Web teknolojileriyle ilgilenenlerin olmaz olmazı XML! Bir XML dosyasına veri eklemek için, XML dosyasını yazdırmak için yapılan nesne tipi bir değişken haline getirme işlemi gerçekleştirilmelidir. Nesne haline getirilen değişken (XML verisi), addChild() yöntemi ile ekleme yapılabilecek bir hale getirilmektedir. XML dosya içeriğindeki hiyerarşik yapının bozulmaması suretiyle yeni bilgiler eklenebilmektedir. Bu işlemden sonra eklenen veri yeni bir dosyaya kaydedilip depolanabildiği gibi, direk olarak ekrana da yazdırılabilir. Bunların işleme geçebilmesi için asXML() yöntemi kullanılmalıdır.

asXML() Yöntemi


<?php
$icerik = <<<XML
<?xml version='1.0' ?>
<uyeler><uye>
<kullaniciadi>red kit</kullaniciadi>
<eposta>redkit@mail</eposta>
<yas>24</yas>
</uye>
<uye>
<kullaniciadi>jesse james</kullaniciadi>
<eposta>jamest@mail</eposta>
<yas>28</yas>
</uye></uyeler>
XML;

$xml_dosya = new SimpleXMLElement($icerik);
echo $xml_dosya->asXML();
?>




Yukarıdaki uygulama, asXML() yöntemi ile ilgili bir betimleme niteliği taşımaktadır. Çünkü tek bir kelime ile XML verisi içerisindeki tüm veriler ekrana yazdırılabilmektedir.


asXML() yöntemi ile verileri okumak

addChild() yöntemi ile veri ekleme


<?php
$xml_icerik = simplexml_load_file('uye.xml');

$uye = $xml_icerik->addChild('uye');

$uye->addChild('kullaniciadi','kalamiti jane');
$uye->addChild('eposta','kalamiti@mail');
$uye->addChild('yas','32');

$uye->addChild('kullaniciadi','daltonlar');
$uye->addChild('eposta','dalton@mail');
$uye->addChild('yas','40');

echo $xml_icerik->asXML();
?> 



Yukarıda görülen program, uye.xml XML dosyasına veri ekleme işlemini gerçekleştirecektir.

$uye->addChild('eposta','dalton@mail');
$uye->addChild('yas','40');

Yukarıdaki satırlarda görülen kodlar, sanki SQL ile veritabanına veri ekleme işlemi yapılıyormuş gibi bir görüntüyü hatırlatmaktadır. Daha önce de belirttiğimiz gibi XML dili, veritabanları gibi kullanılmaktadır. Çünkü veriler listelenebilmekte ve ekrana yazdırılabilmektedir.
Bu örnek çalıştırıldığında ekranda,

red kit redkit@mail 24
jesse james jamest@mail 28
kalamiti janekalamiti@mail 32
daltonlar dalton@mail 40

gibi bir görüntü görülecektir.

Sonraki anlatımlarda görüşmek üzere!

Hiç yorum yok:

Yorum Gönder