Ik ben bezig met een CMS systeem, hier wil ik graag een template systeem bij. Ik wil in een XML bestand de info van de template uitlezen. Ik wil dat dit op elke server kan die php5 of hoger gebruikt. Ik heb even gezocht, maar dat is niet bij elke mogelijk. Weet iemand een manier?
XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<install>
<files>
<file>index.php</file>
</files>
</install>
PHP:
<?php
// DOMElement->getElementsByTagName() -- Gets elements by tagname
// nodeValue : The value of this node, depending on its type.
// Load XML File. You can use loadXML if you wish to load XML data from a string
$objDOM = new DOMDocument();
$objDOM->load("templates/pointspace/pointspace.xml"); //make sure path is correct
print_r($objDOM);
?>
bij de print r krijg ik nu: DOMDocument Object ( ), het werkt dus niet
Probeer eens XPath, dat is op zich vrij handig
<?php
$xpath = new DOMXPath($objDOM);
foreach($xpath->query('//install/files/file') as $file) {
echo '<li>' . $file->nodeValue . '</li>';
}
?>
Je kan met XPath veel meer dan alleen dom nodes selecteren, je kan ook filteren op attributen, je kan tellen maar je kan geen wijzigingen in de XML maken.
Verder kan je op DOMDocument de "gewone" W3C methods loslaten zoals je ze ook wel kent uit Javascript. $objDOM->getElementsByTagName('file') levert hetzelfde (nu nog iig) op als $xpath->query('//install/files/file')