XML Üzerinde PHP DOM'e Giriş
PHP ile XML üzerinde işlemleri yapmak için DOM kullanıyoruz.
14.08.2015 · 2 min read
XML irdelerken az çok bunu şurada şöyle kullanırım demişsinizdir. Yavaştan nerelerde, 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 Class 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 UTF-8 yapıyoruz
$kitaplar = $xml->createElement('kitaplar'); // Kitaplar diye root eleman oluşturuyoruz
$kitap = $xml->createElement('kitap'); // Kitap elemanını oluşturuyoruz
$kitap_isbn = $xml->createAttribute('isbn'); // Kitap elemanın isn etiket(nitelik, özellik) 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 altına yıl, ay, gun elemanları ekliyoruz.
$kitap_tarih->appendChild($kitap_tarih_ay);
$kitap_tarih->appendChild($kitap_tarih_gun);
$kitap_yazar->appendChild($kitap_gorev); // yazar elemanın gorev etiket(nitelik, özellik) ekliyoruz
$kitap->appendChild($kitap_adi); // kitap elemanı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 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>
</yazar></kitap>
</kitaplar>
Kütüphane XML Ağaç yapısını oluşturduk.
Sonraki yazımda oluşturulan XML içerik ekleme, okuma, düzenleme, silme, güncelleme işlemlerine değinmeye çalışacağım.