Load XML document in HTML

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Danny von Gaal

Danny von Gaal

16/06/2015 11:53:27
Quote Anchor link
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 hulp

PHP hulp

19/12/2024 04:25:38
 
Ward van der Put
Moderator

Ward van der Put

16/06/2015 12:23:54
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?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.
 
Thomas van den Heuvel

Thomas van den Heuvel

16/06/2015 13:40:30
Quote Anchor link
Of je maakt gebruik van XSLT.
 
Danny von Gaal

Danny von Gaal

18/06/2015 10:46:08
Quote Anchor link
@ Ward: ik kom er niet goed uit, met welke code roep ik nou de inhoud van bijvoorbeeld <omschrijving> uit het XML document?
 
- Ariën  -
Beheerder

- Ariën -

18/06/2015 13:34:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?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.
Gewijzigd op 18/06/2015 13:35:28 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

18/06/2015 14:00:48
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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>';
}

?>
Gewijzigd op 18/06/2015 14:03:09 door Ward van der Put
 
Danny von Gaal

Danny von Gaal

19/06/2015 11:19:28
Quote Anchor link
Bedankt Ward ik krijg nu inderdaad output te zien. Nog niet helemaal zoals ik wil maar ik kan hier hopelijk wel mee verder.

Toevoeging op 19/06/2015 11:41:31:

Wat nou als ik alleen de derde nodevalue wil laten zien?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$node->nodeValue[3]
werkt helaas niet.
 
- SanThe -

- SanThe -

19/06/2015 11:46:27
Quote Anchor link
1e => 0
2e => 1
3e => 2
 
Danny von Gaal

Danny von Gaal

19/06/2015 13:58:10
Quote Anchor link
Je hebt gelijk -SanThe- ik had het cijfer verkeerd.
Maar al maak ik er een 2 van dan werkt het nog niet.
 
Martin -

Martin -

16/08/2015 19:58:04
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.