Ultimele tutoriale de dezvoltare web
 

PHP XML DOM Parser


Built-in DOM parserul face posibilă procesarea documentelor XML în PHP.


Fișierul XML DOM parser

Parser DOM este un interpretor bazat pe copac.

Uită-te la următoarea fracțiune de document XML:

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

DOM vede XML de mai sus ca o structură de arbore:

  • Nivelul 1: document XML
  • Elementul rădăcină:: Nivelul 2 <from>
  • Nivelul 3: element de text: "Jani"

Instalare

Funcțiile DOM analizori fac parte din nucleul PHP. Nu există nici o instalare necesare pentru a utiliza aceste funcții.


Un fișier XML

Fișierul XML de mai jos va fi utilizat în exemplul nostru:

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

Load și de ieșire XML

Dorim să inițializa parserul XML, încărcați XML, și de ieșire-l:

Exemplu

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

print $xmlDoc->saveXML();
?>

Ieșirea codului de mai sus va fi:

Tove Jani Reminder Don't forget me this weekend!

Dacă selectați "View source" în fereastra de browser, veți vedea următorul cod HTML:

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

Exemplul de mai sus creează un obiect DOMDocument-și încarcă XML de "note.xml" în ea.

Apoi saveXML() funcția pune documentul XML intern într - un șir de caractere, astfel încât să putem ieșire ea.


Looping prin XML

Dorim să inițializa parserul XML, încărcați XML, și bucla prin toate elementele <note> elementului:

Exemplu

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

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

Ieșirea codului de mai sus va fi:

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

In exemplul de mai sus vedeți că există noduri de text goale între fiecare element.

Când XML generează, conține de multe ori spațiile albe dintre noduri. Parser XML DOM tratează aceste elemente obișnuite, și dacă nu sunt conștienți de ele, acestea provoacă uneori probleme.


Dacă doriți să aflați mai multe despre XML DOM, accesați tutorialul XML .