PHP XML DOM
- Önceki Sayfa XML Expat Parser
- Sonraki Sayfa XML SimpleXML
Dahili DOM解析cis, PHP'te XML belgeleriyle işlemeyi mümkün kılar.
DOM nedir?
W3C DOM, HTML ve XML belgeleri için standart nesneler kümesini ve bu belgelere erişmek ve bunları işlemek için standart arayüzleri sağlar.
W3C DOM, farklı kısımlara (Core, XML ve HTML) ve farklı seviyelere (DOM Level 1/2/3) ayrılır:
- Core DOM - Her türlü yapılandırılmış belge için standart nesneler kümesini tanımlar
- XML DOM - XML belgeleri için standart nesneler kümesini tanımlar
- HTML DOM - HTML belgeleri için standart nesneler kümesini tanımlar
XML DOM hakkında daha fazla bilgi öğrenmek istiyorsanız, sitemizi ziyaret edin XML DOM Eğitimi。
XML解析
Bir XML belgesini okumak ve güncellemek - bir XML belgesi oluşturmak ve işlemek için XML解析cisine ihtiyacınız vardır.
Temel iki XML解析cis türü vardır:
- Ağaç tabanlı解析cis:Bu tür解析cisleri XML belgesini bir ağaç yapısına dönüştürür. Tüm belgeyi analiz eder ve belgedeki elementlere erişmek için API sağlar, örneğin belge nesnesi modeli (DOM).
- Olay tabanlı解析cis:XML belgesini bir dizi olay olarak görür. Bir olay gerçekleştiğinde,解析cis fonksiyonları çağırır.
DOM解析cisleri ağaç tabanlıdır.
Aşağıdaki XML belgesi parçasını görün:
<?xml version="1.0" encoding="ISO-8859-1"?> <from>John</from>
XML DOM, XML'yi bir ağaç yapısı olarak görür:
- 1. Seviye: XML belgesi
- 2. Seviye: Kök elementi: <from>
- 3. Seviye: Metin elementi: "John"
Yükleme
DOM XML解析cisleri PHP'nin çekirdek bileşenlerinden biridir. Bu fonksiyonları kullanmak için yükleme gerekmez.
XML dosyası
Örnekimizde aşağıdaki XML dosyasını kullanacağız:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Hatırlatma</heading> <body>Unutmayın toplantıyı!</body> </note>
XML yükleme ve çıktı
XML解析cisini başlatmamız, XML'yi yüklememiz ve onu çıktıya vermemiz gerekiyor:
Örnek
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); print $xmlDoc->saveXML(); ?>
Yukarıdaki kodun çıktısı:
George John Hatırlatma Unutmayın toplantıyı!
Tarayıcı pencerenizde kaynak kodunu görüyorsanız, aşağıdaki HTML'yi göreceksiniz:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Hatırlatma</heading> <body>Unutmayın toplantıyı!</body> </note>
Yukarıdaki örnekte, bir DOMDocument-Object oluşturuldu ve "note.xml" içindeki XML, bu doküman nesnesine yüklenmiştir.
saveXML() fonksiyonu, içsel XML dokümanını bir dizeye koyar, böylece onu çıktıya verebiliriz.
XML Döngüle
XML解析cisini başlatmalı, XML'yi yüklemeli ve <note> elementlerinin tüm elementlerini döngülemeliyiz:
Örnek
<?php $xmlDoc = new DOMDocument(); $xmlDoc->load("note.xml"); $x = $xmlDoc->documentElement; foreach ($x->childNodes AS $item) { print $item->nodeName . " = " . $item->nodeValue . "<br />"; } ?>
Yukarıdaki kodun çıktısı:
#text = to = George #text = from = John #text = heading = Hatırlatma #text = body = Toplantıyı unutmayın! #text =
Yukarıdaki örnekte, her element arasında boş metin node'ları gördünüz.
XML oluşturulduğunda, genellikle node'lar arasında boşluk içerir. XML DOM解析örleri bunları sıradan elementler olarak alır ve dikkat etmezseniz, bazen sorunlara neden olabilir.
XML DOM hakkında daha fazla bilgi öğrenmek istiyorsanız, sitemizi ziyaret edin XML DOM Eğitimi。
- Önceki Sayfa XML Expat Parser
- Sonraki Sayfa XML SimpleXML