PHP XML Eğitimi: Örnekle Oluşturun, Ayrıştırın, Okuyun
XML nedir?
XML, Genişletilebilir İşaretleme Dili'nin kısaltmasıdır.
XML, verileri bir sistemden diğerine yapılandırmak, depolamak ve taşımak için kullanılır.
XML, HTML'ye benzer.
Açılış ve kapanış etiketlerini kullanır.
HTML'den farklı olarak XML, kullanıcıların kendi etiketlerini tanımlamalarına olanak tanır.
DOM nedir?
DOM, Belge Nesne Modeli'nin kısaltmasıdır.
Verilere nasıl erişileceğini ve bunların nasıl değiştirileceğini tanımlayan, platformlar arası ve dilden bağımsız bir standarttır;
- HTML
- XHTML
- XML
DOM XML, XML belgelerine erişmek ve bunları değiştirmek için kullanılır. BT XML belgesini görüntüler ağaç yapısı olarak.
XML Ayrıştırıcılar
XML ayrıştırıcı, XML belgesini bir XML Belge Nesnesi Modeli (DOM) Nesnesine çeviren bir programdır.
XML DOM Nesnesi daha sonra kullanılarak değiştirilebilir. JavaSenaryo, Pythonve PHP vb.
(Unparsed) Character Data'nın kısaltması olan CDATA anahtar sözcüğü, bir XML belgesini ayrıştırırken “<,>” gibi özel karakterleri yok saymak için kullanılır.
Neden XML kullanıyorsunuz?
- SOAP ve REST gibi web servisleri bilgi alışverişi için XML formatını kullanır. XML'in ne olduğunu ve nasıl çalıştığını öğrenmek, bir geliştirici olarak size rekabet avantajı sağlayacaktır çünkü modern uygulamalar web servislerini yoğun şekilde kullanmaktadır.
- XML belgeleri bir uygulamanın yapılandırma ayarlarını depolamak için kullanılabilir
- Daha esnek hale getiren kendi özel etiketlerinizi oluşturmanıza olanak tanır.
XML Belgesi örneği
Bir web servisinden XML formatında veri alan bir uygulama geliştirdiğinizi varsayalım.
Aşağıda XML belgesinin nasıl göründüğünün örneği verilmiştir.
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
İŞTE,
- “ ” kullanılacak xml sürümünü ve kodlamayı belirtir
- “ ” kök elemanıdır.
- “ … ” sırasıyla yönetim ve satışın alt öğeleridir.
PHP kullanarak XML nasıl okunur
Şimdi çalışanların XML belgesini okuyacak ve sonuçları bir web tarayıcısında görüntüleyecek kodu yazalım. index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
İŞTE,
- “$xml = simplexml_load_file('employees.xml');”, employees.xml dosya adını yüklemek ve içerikleri $xml dizi değişkenine atamak için simplexml_load_file fonksiyonunu kullanır.
- “$liste = $xml->kayıt;” kayıt düğümünün içeriğini alır.
- “for ($i = 0; $i < count(…)…” sayısal diziyi okuyan ve sonuçları veren for döngüsüdür
- “$liste[$i]->öznitelikler()->man_no;” elemanın man_no niteliğini okur
- “$liste[$i]->isim;” alt öğe adının değerini okur
- “$liste[$i]->konum;” alt öğenin konumunun değerini okur
Uygulamamızı test etme
index.php dosyasını phptus/xml klasörüne kaydettiğinizi varsayalım, URL'ye göz atın http://localhost/phptuts/xml/index.php
PHP kullanarak XML belgesi nasıl oluşturulur
Şimdi PHP kullanarak XML belgesinin nasıl oluşturulacağına bakacağız.
Yukarıdaki örneği DOM ağaç diyagramında kullanacağız.
Aşağıdaki kod, bir XML belgesi oluşturmak için PHP'nin yerleşik DOMDocument sınıfını kullanır.
<?php $dom = new DOMDocument(); $dom->encoding = 'utf-8'; $dom->xmlVersion = '1.0'; $dom->formatOutput = true; $xml_file_name = 'movies_list.xml'; $root = $dom->createElement('Movies'); $movie_node = $dom->createElement('movie'); $attr_movie_id = new DOMAttr('movie_id', '5467'); $movie_node->setAttributeNode($attr_movie_id); $child_node_title = $dom->createElement('Title', 'The Campaign'); $movie_node->appendChild($child_node_title); $child_node_year = $dom->createElement('Year', 2012); $movie_node->appendChild($child_node_year); $child_node_genre = $dom->createElement('Genre', 'The Campaign'); $movie_node->appendChild($child_node_genre); $child_node_ratings = $dom->createElement('Ratings', 6.2); $movie_node->appendChild($child_node_ratings); $root->appendChild($movie_node); $dom->appendChild($root); $dom->save($xml_file_name); echo "$xml_file_name has been successfully created"; ?>
İŞTE,
- “$dom = yeni DOMDocument();” DOMDocument sınıfının bir örneğini oluşturur.
- “$dom->kodlama = 'utf-8';” belge kodlamasını utf-8 olarak ayarlar
- “$dom->xmlVersion = '1.0';” 1.0 sürüm numarasını belirtir
- “$dom->formatOutput = doğru;” çıktının iyi biçimlendirilmiş olmasını sağlar
- “$root = $dom->createElement('Filmler');” Filmler adlı kök düğümü oluşturur
- “$attr_movie_id = new DOMAttr('movie_id', '5467');” Filmler düğümünün film kimliği özelliğini tanımlar
- “$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')”, Filmler düğümünün alt düğümünü oluşturur. ElementName, öğenin adını belirtir; örneğin Başlık. ElementValue, örneğin Kampanya gibi alt düğüm değerini ayarlar.
- “$root->appendChild($movie_node);” movie_node öğelerini kök düğüme ekler Filmler
- “$dom->appendChild($root);” Kök düğümü XML belgesine ekler.
- “$dom->save($xml_file_name);” XML dosyasını web sunucusunun kök dizinine kaydeder.
- "Eko ' ' . $xml_dosya_adı . ' başarıyla oluşturuldu';” XML dosyasına bağlantı oluşturur.
Uygulamamızı test etme
Create_movies_list dosyasını phptuts/xml klasörüne kaydettiğinizi varsayalım, URL'ye göz atın http://localhost/phptuts/xml/create_movies_list.php
Movies_list_xml bağlantısını tıklayın
ÖZET
- XML Genişletilebilir İşaretleme Dili'nin kısaltmasıdır
- XML, sistemler arasında bilgi alışverişi yapmak veya bir uygulamanın yapılandırma ayarlarını vb. saklamak için kullanılabilir.
- DOM, Document Object Model'in kısaltmasıdır. XML DOM, XML belgesini bir ağaç yapısı olarak görüntüler
- XML Ayrıştırıcı, XML'i bir XML belgesini DOM ağaç yapısına benzer bir belgeye çeviren bir programdır.
- CDATA, XML belgelerini ayrıştırırken özel karakterleri yok saymak için kullanılır.
- PHP XML belgelerini okumak ve sonuçları sayısal bir dizi olarak döndürmek için simplexml_load_file'ı kullanır
- XML dosyaları oluşturmak için PHP DOMDocument sınıfı.