Ik heb een bestand test.xml die elke dag wordt overschreven waar in XML opmaak de vergaderingen van de dag staan.

Nu wil ik een HTML pagina maken met een CSS opmaak zodat deze vergaderingen mooi worden weergeven op een pagina.
Alleen nu mijn vraag: hoe laad ik deze externe .xml pagina in mijn html document?

<?php
$dom_doc = new DOMDocument();
$dom_doc->load('vergaderingen.xml');
?>

Hierna kun je de methoden van het DOMDocument gebruiken om data uit het XML-bestand te verwerken.
@ Ward: ik kom er niet goed uit, met welke code roep ik nou de inhoud van bijvoorbeeld <omschrijving> uit het XML document?
<?php
$dom_doc = new DOMDocument();
$data = $dom_doc->load('vergaderingen.xml');
echo "<pre>".print_r($data,1)."</pre>";
?>

Geeft dit meer helderheid over de data?

Zelf gebruik ik SimpleXML om XML-data uit te lezen.
Je kunt de XML misschien beter analyseren met de juiste objecten en hun methoden, want dan weet je meteen hoe je data uit de XML haalt.

Een XML-document bestaat uit verschillende (child)nodes. Elke node heeft een nodeName en een nodeValue, net zoals een gewone variabele een name/value-pair is. Die kun je bijvoorbeeld zo weergeven:


<?php
// Class DOMDocument
$dom_doc = new DOMDocument();
$dom_doc->load('vergaderingen.xml');

// Class DOMElement
$dom_element = $dom_doc->documentElement;

// Class DOMNode
foreach ($dom_element->childNodes as $node) {
    echo $node->nodeName . ' = ' . $node->nodeValue . '<br>';
}
?>
Bedankt Ward ik krijg nu inderdaad output te zien. Nog niet helemaal zoals ik wil maar ik kan hier hopelijk wel mee verder.

[size=xsmall]Toevoeging op 19/06/2015 11:41:31:[/size]

Wat nou als ik alleen de derde nodevalue wil laten zien?
$node->nodeValue[3]
werkt helaas niet.
1e => 0
2e => 1
3e => 2
Je hebt gelijk -SanThe- ik had het cijfer verkeerd.
Maar al maak ik er een 2 van dan werkt het nog niet.

Thomas van den Heuvel op 16/06/2015 13:40:30

Of je maakt gebruik van XSLT.

+1 Inderdaad een hele nette manier om dit te doen! http://php.net/xsl

Reageren