PHP XML Eğitimi: Oluşturun, Ayrıştırın, Örneklerle Okuyun

İçindekiler:

Anonim

XML nedir?

XML, Extensible Markup Language'in 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 izin verir.

Bu eğitimde öğreneceksiniz-

  • DOM nedir?
  • XML Ayrıştırıcılar
  • Neden XML kullanmalısınız?
  • XML Belgesi Örneği
  • PHP kullanarak XML nasıl okunur
  • PHP kullanarak XML belgesi nasıl oluşturulur

DOM nedir?

DOM, Document Object Model'in kısaltmasıdır.

Verilere nasıl erişilip yönetileceğini tanımlayan çapraz platform ve dilden bağımsız bir standarttır;

  • HTML
  • XHTML
  • XML

DOM XML, XML belgelerine erişmek ve bunları işlemek için kullanılır. XML belgesini bir ağaç yapısı olarak görür.

XML Ayrıştırıcılar

XML ayrıştırıcı, XML belgesini XML Belge Nesne Modeli (DOM) Nesnesine çeviren bir programdır.

XML DOM Nesnesi daha sonra JavaScript, Python ve PHP vb. Kullanılarak değiştirilebilir.

(Ayrıştırılmamış) Karakter Verilerinin 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 kullanmalısınız?

  • SOAP ve REST gibi web servisleri, bilgi alışverişinde bulunmak için XML formatını kullanır. XML'in ne olduğunu ve nasıl çalıştığını öğrenmek, modern uygulamalar web hizmetlerini yoğun bir şekilde kullandığından, bir geliştirici olarak size rekabet avantajı sağlayacaktır.
  • XML belgeleri, bir uygulamanın yapılandırma ayarlarını saklamak 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üğüne dair bir örnek verilmiştir.

Joe Paul
CEOTasha Smith
Finance Manager

İŞTE,

  • ” Kullanılacak xml sürümünü ve kodlamayı belirtir
  • "<Çalışan durumu =" ok ">" kök öğedir.
  • … ” 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


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

İŞTE,

  • "$ Xml = simplexml_load_file ('çalışanlar.xml');" çalışanlar.xml dosya adını yüklemek ve içeriği $ xml dizi değişkenine atamak için simplexml_load_file işlevini kullanır.
  • "$ Liste = $ xml-> kayıt;" kayıt düğümünün içeriğini alır.
  • "For ($ i = 0; $ i
  • "$ Liste [$ i] -> öznitelikler () -> man_no;" elemanın man_no özniteliğini okur
  • "$ Liste [$ i] -> ad;" alt öğe adının değerini okur
  • "$ Liste [$ i] -> konum;" alt öğe konumunun değerini okur

Uygulamamızı test ediyoruz

İndex.php dosyasını phptus / xml klasörüne kaydettiğinizi varsayarsak, http: //localhost/phptuts/xml/index.php URL'sine gidin.

PHP kullanarak XML belgesi nasıl oluşturulur

Şimdi PHP kullanarak bir 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 DOMDocument sınıfında yerleşik PHP'yi kullanır.

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 = new 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 = true;" çıktının iyi biçimlendirilmesini sağlar
  • "$ Root = $ dom-> createElement ('Filmler');" Movies 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')”, Movies düğümünün alt düğümünü oluşturur. ÖğeAdı öğenin adını belirtir, örneğin Başlık. ElementValue, alt düğüm değerini ayarlar, örneğin Kampanya.
  • "$ Root-> appendChild ($ movie_node);" movie_node öğelerini Filmler kök düğümüne ekler
  • "$ Dom-> appendChild ($ root);" kök düğümü XML belgesine ekler.
  • "$ Dom-> kaydet ($ xml_file_name);" XML dosyasını web sunucusunun kök dizinine kaydeder.
  • “Echo ''. $ xml_file_name. ' başarıyla oluşturuldu'; " XML dosyasına bağlantı oluşturur.

Uygulamamızı test ediyoruz

Create_movies_list dosyasını phptuts / xml klasörüne kaydettiğinizi varsayarak, http: //localhost/phptuts/xml/create_movies_list.php URL'sine gidin.

Movies_list_xml bağlantısını tıklayın

Özet

  • XML, Extensible Markup Language'in 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ür
  • 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ı.