tutorial pengembangan web terbaru
 

PHP XML DOM Parser


built-in DOM parser memungkinkan untuk memproses dokumen XML di PHP.


XML DOM Parser

DOM parser adalah parser berbasis pohon.

Lihatlah fraksi dokumen XML berikut:

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

DOM melihat XML di atas sebagai struktur pohon:

  • Level 1: Dokumen XML
  • Elemen Akar:: Level 2 <from>
  • Level 3: Elemen Teks: "Jani"

Instalasi

Fungsi DOM parser adalah bagian dari inti PHP. Tidak ada instalasi diperlukan untuk menggunakan fungsi-fungsi ini.


XML Berkas

File XML di bawah ini akan digunakan dalam contoh kita:

<?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>

Beban dan Output XML

Kami ingin menginisialisasi parser XML, memuat xml, dan output:

Contoh

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

print $xmlDoc->saveXML();
?>

Output dari kode di atas akan menjadi:

Tove Jani Reminder Don't forget me this weekend!

Jika Anda memilih "View source" di jendela browser, Anda akan melihat HTML berikut:

<?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>

Contoh di atas menciptakan DOMDocument-Obyek dan beban XML dari "note.xml" ke dalamnya.

Kemudian saveXML() fungsi menempatkan dokumen XML internal ke string, jadi kami bisa output itu.


Perulangan melalui XML

Kami ingin menginisialisasi parser XML, memuat XML, dan loop melalui semua elemen <note> elemen:

Contoh

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

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

Output dari kode di atas akan menjadi:

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

Dalam contoh di atas Anda melihat bahwa ada node teks kosong antara masing-masing elemen.

Ketika XML menghasilkan, sering mengandung putih-ruang antara node. XML DOM parser memperlakukan elemen seperti biasa ini, dan jika Anda tidak menyadari dari mereka, mereka kadang-kadang menyebabkan masalah.


Jika Anda ingin mempelajari lebih lanjut tentang XML DOM, kunjungi tutorial XML .