Listing récursif d'un XML avec XSLT
Résolu
Shadowxvii
-
creadiff Messages postés 445 Date d'inscription Statut Membre Dernière intervention -
creadiff Messages postés 445 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Listing récursif d'un XML avec XSLT
- Xml download - Télécharger - Édition & Programmation
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
- Faire un listing - Guide
- Format office open xml ou opendocument - Forum Actualités High-Tech
3 réponses
Quel est le but ?
Ce serait sympa qu'on ait un peu plus d'infos, sinon on ne te sera pas d'une grande aide.
Ce serait sympa qu'on ait un peu plus d'infos, sinon on ne te sera pas d'une grande aide.
Ce n'est pas plus compliquer que ça en fait. J'ai un fichier XML et je veux afficher seulement le nom de chacun des noeuds sur une page web avec un XSLT. Par exemple, j'ai le fichier XML suivant
<librairie>
<adresse>123 fausse rue</adresse>
<livres>
<livre>
<auteur>nom</auteur>
<titre>Un titre</titre>
<prix>19.99</prix>
</livre>
<livre>
<auteur>un autre nom</auteur>
<titre>Un autre titre</titre>
<prix>14.99</prix>
</livre>
</livres>
</root>
Et je veux une page HTML qui m'affichera le nom des noeuds du XML, à savoir
-librairie
-adresse
-livres
-livre
-auteur
-titre
-prix
-livre
-auteur
-titre
-prix
Le contenu des noeuds du XML n'est pas important pour le moment.
Le problème vient du fait que je ne peux pas savoir d'avance ce que contiendra le XML comme nom de noeuds.
J'espère que c'est maintenant plus clair. Merci
<librairie>
<adresse>123 fausse rue</adresse>
<livres>
<livre>
<auteur>nom</auteur>
<titre>Un titre</titre>
<prix>19.99</prix>
</livre>
<livre>
<auteur>un autre nom</auteur>
<titre>Un autre titre</titre>
<prix>14.99</prix>
</livre>
</livres>
</root>
Et je veux une page HTML qui m'affichera le nom des noeuds du XML, à savoir
-librairie
-adresse
-livres
-livre
-auteur
-titre
-prix
-livre
-auteur
-titre
-prix
Le contenu des noeuds du XML n'est pas important pour le moment.
Le problème vient du fait que je ne peux pas savoir d'avance ce que contiendra le XML comme nom de noeuds.
J'espère que c'est maintenant plus clair. Merci
Bonjour,
Quelque chose comme ceci?
ATTENTION: le code source doit im-pé-ra-ti-vement être en encodage UTF8 !!!!
A+
Quelque chose comme ceci?
<?php function afficheRecursif($xmlObj) { echo "<ul>"; foreach ($xmlObj->children() as $child) { echo "<li>" . $child->getName() . ": " . $child . "</li>\n"; if (count($child) != 0) { afficheRecursif($child); } } echo "</ul>\n"; } $xml = <<<EOT <librairie> <adresse>123 fausse rue</adresse> <livres> <livre> <auteur>Victor HUGO</auteur> <titre>les misérables</titre> <prix>19.99</prix> </livre> <livre> <auteur>Jules VERNES</auteur> <titre>de la terre à la Lune</titre> <prix>14.99</prix> </livre> </livres> </librairie> EOT; $librairie = simplexml_load_string($xml); // print_r($librairie); afficheRecursif($librairie);
ATTENTION: le code source doit im-pé-ra-ti-vement être en encodage UTF8 !!!!
A+
OK, donc il y a une structure connue.
Depuis PHP, tu pourrais parser le XML avec DOMDocument, et ensuite reconstruire le HTML. La manipulation des noeuds avec DOMDocument est très similaires aux opérations sur le DOM faites depuis JavaScript.
Depuis PHP, tu pourrais parser le XML avec DOMDocument, et ensuite reconstruire le HTML. La manipulation des noeuds avec DOMDocument est très similaires aux opérations sur le DOM faites depuis JavaScript.