XML c'est quoi?
XML pour Extensible Markup Language est un langauage de balises, semblable à
HTML mais qui sert à stocker des données de manière hierarchisé.
Lire un XML en PHP
Exemple XML :
| <?xml version="1.0" encoding="utf8" ?> |
---|
| <categories> |
---|
| <category name="Initiation Internet" shortname="Initiation"> |
---|
| <a title="Un site internet" href="/page-initiation-un-site-web-c-est-quoi">Un site web</a> |
---|
| <a title="Que dois-je maitriser pour creer un site web" href="/page-initiation-que-dois-je-maitriser">Que dois-je maîtriser ?</a> |
---|
| </category> |
---|
| <category name="HTML5" shortname="HTML" slug="apprendre-html"> |
---|
| <a title="Apprendre HTML" href="/page-html-c-est-quoi">HTML</a> |
---|
| <a title="Apprendre a creer une page web" href="/page-html-creer-une-page-web">Créer une page web</a> |
---|
| </category> |
---|
| </categories> |
---|
Lecture de XML avec
PHP :
<?php |
$xml = new SimpleXMLElement("menu.xml", null, true); |
$nodes = $xml->xpath("//categories/category"); |
foreach($nodes as $category): |
var_dump( $category ); |
endforeach; |
?> |
Résultat:
object(SimpleXMLElement)[6]
public '@attributes' =>
array (size=2)
'name' => string 'Initiation Internet' (length=19)
'shortname' => string 'Initiation' (length=10)
public 'a' =>
array (size=2)
0 => string 'Un site web' (length=11)
1 => string 'Que dois-je maîtriser ?' (length=24)
object(SimpleXMLElement)[3]
public '@attributes' =>
array (size=3)
'name' => string 'HTML5' (length=5)
'shortname' => string 'HTML' (length=4)
'slug' => string 'apprendre-html' (length=14)
public 'a' =>
array (size=2)
0 => string 'HTML' (length=4)
1 => string 'Créer une page web' (length=19)
Pour afficher la valeur d'un attribut, utilisez la syntaxe de lecture d'un array:
<?php |
$xml = new SimpleXMLElement("menu.xml", null, true); |
$nodes = $xml->xpath("//categories/category"); |
foreach($nodes as $category): |
var_dump( $category["name"] ); |
endforeach; |
?> |
UNE QUESTION SUR L'ARTICLE?