Merhabalar,
Bu yazımda bir XML dosyasını PHP Array (Dizi) türüne dönüştürme işleminden bahsedeceğim. Bu dönüştürme işleminin ardından XML dosyanız içerisindeki verileri PHP ile dizi olarak kullanabilirsiniz.
Hemen örnek bir XML yapısı oluşturup dosya olarak kaydedelim.
<blog>
<category>
<name>HTML</name>
<link>https://furkangiray.com/html/</link>
</category>
<category>
<name>CSS</name>
<link>https://furkangiray.com/css/</link>
</category>
<category>
<name>Javascript</name>
<link>https://furkangiray.com/javascript/</link>
</category>
<category>
<name>PHP</name>
<link>https://furkangiray.com/php/</link>
</category>
<category>
<name>Genel Bilgiler</name>
<link>https://furkangiray.com/genel-bilgiler/</link>
</category>
<category>
<name>Kod Editörleri</name>
<link>https://furkangiray.com/kod-editorler/</link>
</category>
</blog>
Basit bir örnek için kendi sitemdeki kategorileri oluşturan bir XML dosyası oluşturdum ve ismini “kategoriler.xml” olarak ayarlayıp kaydettim.
Bu dosya adını PHP aşamasında kullanacağız. O yüzden hızlı bir kullanım için PHP kodlarına bakalım.
<?php
$xmlString = file_get_contents('kategoriler.xml');
/* ilk önce dosyanın içindeki içerikleri string olarak alıyoruz
ve değişkene atıyoruz */
$xmlObject = simplexml_load_string($xmlString);
/* simplexml_load_string fonksiyonuyla xml dizgesini nesneye
dönüştürüyoruz */
$json = json_encode($xmlObject, JSON_PRETTY_PRINT);
/* json_encode ile nesneyi json formatına dönüştürüp */
$phpArray = json_decode($json, true);
/* ardından php' de kullanılabilir hale getirmek için
json_decode fonksiyonu ile değişkene atıyoruz */
print_r($phpArray);
/* print_r ile çıktı kontrol edebilirsiniz
$phpArray değişkeni artık Php üzerinde kullanılabilir
hale gelmiş olmaktadır
*/
?>
İşlemlerimiz bu kadar basittir. Yapılan her işlemin bir alt satırında yorum satırı ile açıklamaya çalıştım.
En alttaki print_r satırını silip değişken içindeki verileri gerekli duruma göre (foreach vb.) kullanabilirsiniz. Umarım anlaşılır bi yazı olmuştur.
Mutlu Kodlamalar 🙂
İlgili
Etiketler:
- php
- xml
- xml array
- xml php array
- xml php dizi