En son web geliştirme öğreticiler
 

PHP XML DOM Ayrıştırıcı


Yerleşik DOM çözümleyici mümkün PHP XML belgeleri işlemek için yapar.


XML DOM Ayrıştırıcı

DOM çözümleyici bir ağaç bazlı ayrıştırıcısıdır.

Aşağıdaki XML belgesi fraksiyonu bak:

<?xml version="1.0" encoding="UTF-8"?>
<from>Jani</from>

DOM bir ağaç yapısı olarak yukarıdaki XML görüyor:

  • Seviye 1: XML Belge
  • Seviye 2: Kök öğe: <from>
  • Seviye 3: Metin elemanı: "Jani"

Kurulum

DOM ayrıştırıcı işlevler PHP çekirdeğinin bir parçasıdır. Bu işlevleri kullanmak için gerekli yüklemesi yoktur.


Bir XML dosyası

Aşağıdaki XML dosyası bizim örneğimizde kullanılacaktır:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Yük ve Çıktı XML

Biz, XML ayrıştırıcı başlatmak xml yükleyin ve çıkış onu istiyorum:

Örnek

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

print $xmlDoc->saveXML();
?>

kodun çıktısını göreceğiz:

Tove Jani Reminder Don't forget me this weekend!

Seçerseniz "View source" tarayıcı penceresinde, aşağıdaki HTML göreceksiniz:

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Yukarıdaki örnek DOMDocument-Nesnesi oluşturur ve XML yükler "note.xml" içine.

Sonra saveXML() işlevi, bir dizeye iç XML belgesi koyar, bu yüzden çıkış olabilir de.


XML aracılığıyla Döngü

Biz tüm öğeleri boyunca XML ve döngü yük, XML ayrıştırıcı başlatmak istiyorum <note> elemanı:

Örnek

<?php
$xmlDoc = new DOMDocument();
$xmlDoc->load("note.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item) {
  print $item->nodeName . " = " . $item->nodeValue . "<br>";
}
?>

kodun çıktısını göreceğiz:

#text =
to = Tove
#text =
from = Jani
#text =
heading = Reminder
#text =
body = Don't forget me this weekend!
#text =

Örnekte her bir öğenin arasındaki boş metin düğümleri olduğunu görüyoruz yukarıda.

XML oluşturduğunda, bu genellikle düğümler arasında beyaz boşluk içerir. XML DOM çözümleyici bunlar sıradan unsurları davranır ve bunların farkında değilse, bazen sorunlara neden.


XML DOM hakkında daha fazla bilgi edinmek istiyorsanız, lütfen ziyaret ediniz XML öğretici .