XML Üzerinde PHP DOM'e Giriş
PHP DOM'un XML iş akışlarında nerede kullanıldığını ve XML dokümanlarını PHP ile nasıl işleyeceğinizi öğrenin.
14.08.2015 · 1 dk okuma
XML'i incelerken az çok bunu şurada şöyle kullanırım demişsinizdir. Yavaş yavaş nerelerde ve nasıl kullanırız sorusunu cevaplamaya çalışacağım.
Yine örneklere başladığımız gibi kütüphane üzerine gidelim.
Şimdi örnek XML olarak aşağıdaki yapıyı kullanacağız.
<?xml version="1.0" encoding="UTF-8"?>
<kitaplar>
<kitap isbn="9759954949">
<adi>Yunus Emre Divanı</adi>
<yazar gorev="Derleyici">Selim Yağmur</yazar>
<dil>Türkçe</dil>
<baski>8</baski>
<tarih>
<yil>2014</yil>
<ay>04</ay>
<gun>01</gun>
</tarih>
</kitap>
<kitap isbn="9753386203">
<adi>Risaletü'n-Nushiyye Yunus Emre</adi>
<yazar gorev="Çevirmen">Prof. Dr. Umay Türkeş Günay</yazar>
<dil>Türkçe</dil>
<baski>3</baski>
<tarih>
<yil>2009</yil>
<ay>01</ay>
<gun>01</gun>
</tarih>
</kitap>
</kitaplar>
DOMDocument sınıfı ile XML ağaç yapısını oluşturalım. Kod üzerine satır satır değinelim.
<?php
$xml = new DOMDocument(); // Nesne oluşturuyoruz
$xml->encoding = 'UTF-8'; // Nesnenin encoding değerini UTF-8 yapıyoruz
$kitaplar = $xml->createElement('kitaplar'); // kitaplar diye kök eleman oluşturuyoruz
$kitap = $xml->createElement('kitap'); // Kitap elemanını oluşturuyoruz
$kitap_isbn = $xml->createAttribute('isbn'); // Kitap elemanının isbn niteliğini oluşturuyoruz
$kitap_adi = $xml->createElement('adi'); // adi elemanını oluşturuyoruz
$kitap_yazar = $xml->createElement('yazar'); // ***
$kitap_gorev = $xml->createAttribute('gorev');
$kitap_dil = $xml->createElement('dil');
$kitap_baski = $xml->createElement('baski');
$kitap_tarih = $xml->createElement('tarih');
$kitap_tarih_yil = $xml->createElement('yil'); // ***
$kitap_tarih_ay = $xml->createElement('ay');
$kitap_tarih_gun = $xml->createElement('gun');
$kitap_tarih->appendChild($kitap_tarih_yil); // Tarih elemanının altına yil, ay, gun elemanlarını ekliyoruz.
$kitap_tarih->appendChild($kitap_tarih_ay);
$kitap_tarih->appendChild($kitap_tarih_gun);
$kitap_yazar->appendChild($kitap_gorev); // yazar elemanının gorev niteliğini ekliyoruz
$kitap->appendChild($kitap_adi); // kitap elemanının altına adi, yazar, dil vs. ekliyoruz.
$kitap->appendChild($kitap_yazar); // ***
$kitap->appendChild($kitap_dil);
$kitap->appendChild($kitap_baski);
$kitap->appendChild($kitap_tarih);
$kitap->appendChild($kitap_isbn);
$kitaplar->appendChild($kitap); // kitaplar elemanının altına kitap elemanını ekliyoruz
$xml->appendChild($kitaplar); // XML altına kitaplar elemanını ekliyoruz
$xml->save('./kutuphane.xml'); // Oluşturulan XML nesnesini kaydediyoruz
?>
Yukarıda oluşturduğum kutuphane.xml dosyasına bakacak olursak:
<?xml version="1.0" encoding="UTF-8"?>
<kitaplar>
<kitap isbn="">
<adi/>
<yazar gorev=""/>
<dil/>
<baski/>
<tarih>
<yil/>
<ay/>
<gun/>
</tarih>
</kitap>
</kitaplar>
Kütüphane XML Ağaç yapısını oluşturduk.
Sonraki yazımda oluşturulan XML'e içerik ekleme, okuma, düzenleme, silme ve güncelleme işlemlerine değinmeye çalışacağım.