Ankara Üniversitesi
Nallıhan Meslek Yüksekokulu
PHP XML
NB P238 İL E R I W E B PR OGR AML AMA ÖĞR . GÖR . DR . UFUK T ANYE R I
PHP XML Ayrıştırıcılar
XML nedir?
XML dili, web siteleri arasında paylaşım için veri yapılandırmanın bir yoludur.
RSS Beslemeleri ve Podcast'ler gibi çeşitli web teknolojileri XML olarak yazılmıştır.
XML oluşturmak kolaydır.
Kendi etiketlerinizi oluşturmanız dışında HTML'ye çok benzer.
XML Ayrıştırıcı nedir?
Bir XML belgesini okumak ve güncellemek, oluşturmak ve değiştirmek için bir XML ayrıştırıcıya ihtiyacınız olacaktır.
PHP'de iki temel XML ayrıştırıcı türü vardır:
- Ağaç Tabanlı Ayrıştırıcılar - Olay Tabanlı Ayrıştırıcılar
Ağaç Tabanlı ve Olay Tabanlı Ayrıştırıcılar
Ağaç bazlı ayrıştırıcılara örnek:
SimpleXML DOM
Olay tabanlı ayrıştırıcılara örnek:
XMLReader
XML Expat Ayrıştırıcı
PHP SimpleXML - Diziden Okuma İşlemi
PHP simplexml_load_string() işlevi bir dizeden XML verilerini okumak için kullanılır.
XML verileri içeren bir değişkenimiz olduğunu varsayın, şöyle:
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Sakine</to>
<from>Resul</from>
<heading>Hatırlatıcı</heading>
<body>Bu hafta sonunu unutma!</body>
</note>";
Bir diziden XML verilerini okumak
Aşağıdaki örnek, bir diziden XML verilerini okumak için simplexml_load_string() işlevinin nasıl kullanılacağını gösterir:
<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Sakine</to>
<from>Resul</from>
<heading>Hatırlatıcı</heading>
<body>Bu hafta sonunu unutma!</body>
</note>";
$xml=simplexml_load_string($myXMLData) or die("Hata: Nesne oluşturulamıyor");
print_r($xml);
?>
PHP SimpleXML - Düğüm Değerlerini Alma
Düğüm değerlerini "note.xml" dosyasından alın:
<?php
$xml=simplexml_load_file("note.xml") or die("Hata: Nesne oluşturulamıyor");
echo $xml->kime . "<br>";
echo $xml->kimden . "<br>";
echo $xml->başlık . "<br>";
echo $xml->vucut;
?>
XML Yükleme ve Çıktı
XML ayrıştırıcısını başlatmak, xml'yi yüklemek ve çıktısını almak istiyoruz:
<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");
print $xmlDoc->saveXML();
?>
Kaynaklar
[1] (n.d.). Retrieved from https://www.w3schools.com/php/php_xml_parsers.asp
[2] (n.d.). Retrieved from https://www.w3schools.com/php/php_xml_simplexml_read.asp [3] (n.d.). Retrieved from https://www.w3schools.com/php/php_xml_simplexml_get.asp [4] (n.d.). Retrieved from https://www.w3schools.com/php/php_xml_parser_expat.asp [5] (n.d.). Retrieved from https://www.w3schools.com/php/php_xml_dom.asp