PHP -zelfstudie

PHP HOME PHP-intro PHP-installatie PHP-syntaxis PHP-opmerkingen PHP-variabelen PHP-echo / afdrukken PHP-gegevenstypen PHP-strings PHP-nummers PHP-wiskunde PHP-constanten PHP-operators PHP Als...Anders...Anders PHP-switch PHP-loops PHP-functies PHP-arrays PHP Superglobals PHP RegEx

PHP- formulieren

PHP-formulierverwerking PHP-formuliervalidatie PHP-formulier vereist URL/e-mail van PHP-formulier PHP-formulier voltooid

PHP Geavanceerd

PHP-datum en tijd PHP opnemen PHP-bestandsverwerking PHP-bestand openen/lezen PHP-bestand maken/schrijven PHP-bestand uploaden PHP-cookies PHP-sessies PHP-filters PHP-filters geavanceerd PHP-callback-functies PHP JSON PHP-uitzonderingen

PHP OOP

PHP Wat is OOP PHP-klassen/objecten PHP-constructor PHP-vernietiger PHP-toegangsmodificaties PHP-overerving PHP-constanten PHP abstracte lessen PHP-interfaces PHP-kenmerken PHP statische methoden Statische eigenschappen van PHP PHP-naamruimten PHP-iterables

MySQL- database

MySQL-database MySQL Connect MySQL DB maken MySQL-tabel maken MySQL Gegevens invoegen MySQL Laatste ID ophalen MySQL Meerdere invoegen MySQL voorbereid MySQL Gegevens selecteren MySQL Waar MySQL Bestel op MySQL Gegevens verwijderen MySQL-updategegevens MySQL-limietgegevens

PHP XML

PHP XML-parsers PHP SimpleXML-parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

Ajax-intro AJAX PHP AJAX-database AJAX XML Live zoeken in Ajax Ajax-peiling

PHP- voorbeelden

PHP-voorbeelden PHP-compiler PHP-quiz PHP-oefeningen PHP-certificaat

PHP- referentie

PHP-overzicht PHP-array PHP-agenda PHP-datum PHP-map PHP-fout PHP-uitzondering PHP-bestandssysteem PHP-filter PHP FTP PHP JSON PHP-sleutelwoorden PHP Libxml PHP-e-mail PHP-wiskunde PHP Diversen PHP MySQLi PHP-netwerk PHP-uitvoercontrole PHP RegEx PHP SimpleXML PHP-stream PHP-string Beheer van PHP-variabelen PHP XML-parser PHP-zip PHP-tijdzones

PHP XML DOM-parser


De ingebouwde DOM-parser maakt het mogelijk om XML-documenten in PHP te verwerken.


De XML DOM-parser

De DOM-parser is een op bomen gebaseerde parser.

Bekijk de volgende XML-documentfractie:

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

De DOM ziet de XML hierboven als een boomstructuur:

  • Niveau 1: XML-document
  • Niveau 2: Basiselement: <van>
  • Niveau 3: Tekstelement: "Jani"

Installatie

De DOM-parserfuncties maken deel uit van de PHP-kern. Er is geen installatie nodig om deze functies te gebruiken.


Het XML-bestand

Het onderstaande XML-bestand ("note.xml") wordt in ons voorbeeld gebruikt:

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


XML laden en uitvoeren

We willen de XML-parser initialiseren, de xml laden en deze uitvoeren:

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

print $xmlDoc->saveXML();
?>

De uitvoer van de bovenstaande code zal zijn:

Tove Jani Reminder Don't forget me this weekend!

Als u "Bron weergeven" selecteert in het browservenster, ziet u de volgende 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>

Het bovenstaande voorbeeld maakt een DOMDocument-Object aan en laadt de XML van "note.xml" erin.

Vervolgens plaatst de functie saveXML() het interne XML-document in een string, zodat we het kunnen uitvoeren.


Door XML bladeren

We willen de XML-parser initialiseren, de XML laden en alle elementen van het <note>-element doorlopen:

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

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

De uitvoer van de bovenstaande code zal zijn:

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

In het bovenstaande voorbeeld zie je dat er tussen elk element lege tekstknooppunten zijn.

Wanneer XML wordt gegenereerd, bevat het vaak spaties tussen de knooppunten. De XML DOM-parser behandelt deze als gewone elementen, en als je ze niet kent, veroorzaken ze soms problemen.


Als je meer wilt weten over de XML DOM, bezoek dan onze XML-tutorial .