Lire un fichier XML via PHP

Résolu/Fermé
Nemo - 28 nov. 2011 à 11:36
 Nemo - 28 nov. 2011 à 19:36
Bonjour à tous,

Pour la réussite d'un site internet, je voudrais lire automatiquement un fichier XML via le langage PHP.

Le fichier XML n'a pas à être restructuré, ni modifié. Si je le lis sous n'importe quel navigateur, il me donne ce que j'ai envie ( une requête SQL valide et fonctionelle ).
Je voudrais juste que ce fichier soit lu par le moteur PHP et que le résultat de cette lecture soit enregistré dans une variable, afin de réaliser une connexion SQL par la suite.

Par quelle(s) fonction(s) dois-je passer ?
Ai-je la bonne manière de faire ? Ou dois-je obligatoirement passer par une structuration faite par PHP ?

Merci d'avance pour toutes vos réponses =)

A voir également:

3 réponses

dariumis Messages postés 571 Date d'inscription mardi 16 mars 2010 Statut Membre Dernière intervention 18 avril 2018 63
28 nov. 2011 à 14:01
Salut, tu peux utiliser l'objet PHP domdocument:

https://www.php.net/manual/fr/domdocument.construct.php
2
Salut,

En cherchant un peu dans le DOMDocument, j'ai trouvé le DOMDocumant::load qui permet de charger un fichier.
J'ai bien les données de mon fichier XML, mais pas sa mise en forme voulue ( la requête SQL )

Ce qui m'amène à cette question : Est-ce que PHP est capable d'interpréter un fichier XSL ?

Merci d'avance ^^
0
YATTAAAAAAAAAAAAAAAA !
J'ai finalement réussi à trouver par moi-même.
Explications :

 
<? 
// Chargement du document XML 
 $xml = new DOMDocument; 
 $xml->load('test.xml'); 

 // Chargement de la feuille de style 
 $xsl = new DOMDocument; 
 $xsl->load('test.xsl'); 

 // Création du processeur XSLT 
 $proc = new XSLTProcessor(); 

 //Affectation de la feuille de style 
 $proc->importStyleSheet($xsl); 

 // Transformation du document XML selon la feuille XSL 
 echo $proc->transformToXML($xml); 
?> 


Si une erreur apparait sur XSLTProcessor(), il suffit ( c'est un bien grand mot ) de :
- Installer le fichier php_xsl.dll dans le dossier System32 de Windows ( si vous ne l'avez pas : http://www.fichier-dll.fr/essai.php?code=14041 )
- Ouvrir le fichier php.ini et activer le paramètre "extension=php_xsl.dll"
- Installer la dite extension sur le serveur PHP ( J'utilise WampServer en local, donc j'ai du cliquer sur l'icone de Wamp >> PHP >> Extensions >> php_xsl.dll, attendre un peu le reboot de Apache et bingo )

Et tout fonctionne parfaitement !
Merci beaucoup !
0