[SimpleXML] Comment traiter correctement simple XML avec du PHP ?
Bonsoir,
excusez moi, je bute sur un petit problème.
J'essaie de lire un menus d'un fichier XML via PHP
J'arrive à afficher le menu de cette façon déjà:
menu 1
menu2
etc. En faisant ceci :
Code:
1 2 3 4 5 6 7 8 9
|
<?php
$menus = simplexml_load_file('individu.xml');
foreach($menus->menu as $menu)
{
echo '<a href = "'.$menu->lien.'">'.$menu->nomlien.'</a><br />';
}
?> |
Ce que j'aimerais faire et que je n'arrive pas est :
Menus principal
menu 1
menu 2
Menus Secondaire
menu a
menu b
Voici le fichier xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <?xml version="1.0" encoding="iso-8859-1"?>
<menus>
<rubriques>
<rubrique>Formation</rubrique>
<menu>
<nomlien>Presentation</nomlien>
<lien>http://monsite.com/presentation.php</lien>
</menu>
<menu>
<nomlien>Cours et tarifs</nomlien>
<lien>http://monsite.com/tarif.php</lien>
</menu>
<menu>
<nomlien>Professeurs</nomlien>
<lien>http://monsite.com/installation.php</lien>
</menu>
</rubriques>
<rubriques>
<rubrique>Emploi</rubrique>
<menu>
<nomlien>Presentation</nomlien>
<lien>http://monsite.com/presentation-emploi.php</lien>
</menu>
<menu>
<nomlien>Entreprises</nomlien>
<lien>http://monsite.com/entreprise.php</lien>
</menu>
</rubriques>
</menus> |
D'avance je vous remercie beaucoup pour votre aide
Comment faire l'inverse : écrire dans le fichier XML ?
Merci beaucoup MaitrePylos pour ce code que tu m'as fait.
Le code marche parfaitement et je suis hyper content.
Avant de mettre résolu, j'ai une dernière question. Les informations du fichier XML proviennent d'une table myql dont voici la requete :
Code:
1 2 3 4 5 6 7 8 9
|
<?php $requete = "SELECT * FROM matable ORDER BY IDT ASC";
$req = mysql_query($requete);
while ($myRow = mysql_fetch_assoc($req)){
$rubrique = $myRow['rubrique'];
$nomlien = $myRow['nomlien'];
$lien = $myRow['lien'];
}
?> |
Comment écrire ces données dans le fichier xml (individu.xml). En supposant que le fichier était vide au départ ?
Merci beaucoup pour ton aide.